438c6a8eedd5c6c94debd6f8881e01e876e46c78
[integration.git] /
1 package org.onap.pnfsimulator.netconfmonitor;
2
3 import static org.mockito.ArgumentMatchers.any;
4 import static org.mockito.Mockito.never;
5 import static org.mockito.Mockito.verify;
6 import static org.mockito.Mockito.when;
7
8 import com.tailf.jnc.JNCException;
9 import java.io.IOException;
10 import org.junit.jupiter.api.BeforeEach;
11 import org.junit.jupiter.api.Test;
12 import org.mockito.Mock;
13 import org.mockito.MockitoAnnotations;
14 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationCache;
15 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationReader;
16 import org.onap.pnfsimulator.netconfmonitor.netconf.NetconfConfigurationWriter;
17
18 class NetconfConfigurationCheckingTaskTest {
19
20     private NetconfConfigurationCheckingTask checkingTask;
21
22     @Mock
23     private NetconfConfigurationReader reader;
24     @Mock
25     private NetconfConfigurationWriter writer;
26     @Mock
27     private NetconfConfigurationCache cache;
28
29     @BeforeEach
30     void setup() {
31         MockitoAnnotations.initMocks(this);
32         checkingTask = new NetconfConfigurationCheckingTask(reader, writer, cache);
33     }
34
35     @Test
36     void run_should_update_configuration_when_changed() throws IOException, JNCException {
37         String configuration = "newConfiguration";
38         when(reader.read()).thenReturn(configuration);
39         when(cache.getConfiguration()).thenReturn("oldConfiguration");
40
41         checkingTask.run();
42
43         verify(reader).read();
44         verify(cache).getConfiguration();
45         verify(writer).writeToFile(configuration);
46         verify(cache).update(configuration);
47     }
48
49     @Test
50     void run_should_not_update_configuration_when_same() throws IOException, JNCException {
51         String configuration = "configuration";
52         when(reader.read()).thenReturn(configuration);
53         when(cache.getConfiguration()).thenReturn("configuration");
54
55         checkingTask.run();
56
57         verify(reader).read();
58         verify(cache).getConfiguration();
59         verify(writer, never()).writeToFile(configuration);
60         verify(cache, never()).update(configuration);
61     }
62
63     @Test
64     void run_should_not_take_any_action_when_failed_to_read_configuration() throws IOException, JNCException {
65         when(reader.read()).thenThrow(new IOException());
66
67         checkingTask.run();
68
69         verify(reader).read();
70         verify(cache, never()).getConfiguration();
71         verify(writer, never()).writeToFile(any());
72         verify(cache, never()).update(any());
73     }
74 }