1. Project Clover database Sat Feb 2 2019 06:45:20 CET
  2. Package org.xwiki.configuration.internal

File DocumentsConfigurationSourceTest.java

 

Code metrics

0
10
2
1
79
39
2
0.2
5
2
1

Classes

Class Line # Actions
DocumentsConfigurationSourceTest 44 10 0% 2 0
1.0100%
 

Contributing tests

This file is covered by 1 test. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.configuration.internal;
21   
22    import javax.inject.Provider;
23   
24    import org.junit.Before;
25    import org.junit.Rule;
26    import org.junit.Test;
27    import org.mockito.InOrder;
28    import org.xwiki.configuration.ConfigurationSource;
29    import org.xwiki.test.mockito.MockitoComponentMockingRule;
30   
31    import com.xpn.xwiki.XWikiContext;
32   
33    import static org.junit.Assert.assertTrue;
34    import static org.mockito.Mockito.inOrder;
35    import static org.mockito.Mockito.mock;
36    import static org.mockito.Mockito.when;
37   
38    /**
39    * Unit tests for {@link org.xwiki.configuration.internal.DocumentsConfigurationSource}.
40    *
41    * @version $Id: 2cef8b5becb9d625d205d9bb147aa61d4dd5aacd $
42    * @since 6.1M2
43    */
 
44    public class DocumentsConfigurationSourceTest
45    {
46    @Rule
47    public MockitoComponentMockingRule<DocumentsConfigurationSource> mocker =
48    new MockitoComponentMockingRule<>(DocumentsConfigurationSource.class);
49   
50    private ConfigurationSource wikiSource;
51   
52    private ConfigurationSource spaceSource;
53   
 
54  1 toggle @Before
55    public void before() throws Exception
56    {
57  1 this.wikiSource = this.mocker.registerMockComponent(ConfigurationSource.class, "wiki");
58  1 this.spaceSource = this.mocker.registerMockComponent(ConfigurationSource.class, "spaces");
59   
60  1 Provider<XWikiContext> xcontextProvider = this.mocker.registerMockComponent(XWikiContext.TYPE_PROVIDER);
61  1 when(xcontextProvider.get()).thenReturn(mock(XWikiContext.class));
62    }
63   
 
64  1 toggle @Test
65    public void containsKey() throws Exception
66    {
67  1 when(this.wikiSource.containsKey("key")).thenReturn(true);
68  1 when(this.spaceSource.containsKey("key")).thenReturn(false);
69   
70  1 assertTrue(this.mocker.getComponentUnderTest().containsKey("key"));
71   
72    // Verify that the order call is correct
73  1 InOrder inOrder = inOrder(wikiSource, spaceSource);
74    // First call
75  1 inOrder.verify(spaceSource).containsKey("key");
76    // Second call
77  1 inOrder.verify(wikiSource).containsKey("key");
78    }
79    }