2 * Copyright (c) 2015 Inocybe and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.ovsdb.openstack.netvirt;
11 import static org.junit.Assert.assertEquals;
12 import static org.mockito.Matchers.any;
13 import static org.mockito.Mockito.mock;
14 import static org.mockito.Mockito.times;
15 import static org.mockito.Mockito.verify;
16 import static org.mockito.Mockito.verifyNoMoreInteractions;
18 import java.net.HttpURLConnection;
20 import org.junit.Before;
21 import org.junit.Test;
22 import org.junit.runner.RunWith;
23 import org.mockito.InjectMocks;
24 import org.mockito.Mockito;
25 import org.opendaylight.neutron.spi.NeutronFirewall;
26 import org.opendaylight.neutron.spi.NeutronFirewallPolicy;
27 import org.opendaylight.neutron.spi.NeutronFirewallRule;
28 import org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher;
29 import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
30 import org.osgi.framework.ServiceReference;
31 import org.powermock.api.mockito.PowerMockito;
32 import org.powermock.core.classloader.annotations.PrepareForTest;
33 import org.powermock.modules.junit4.PowerMockRunner;
37 * Unit test for {@link FWaasHandler}
39 @RunWith(PowerMockRunner.class)
40 @PrepareForTest(ServiceHelper.class)
41 public class FWaasHandlerTest {
43 @InjectMocks FWaasHandler fwaasHandler;
47 fwaasHandler = mock(FWaasHandler.class, Mockito.CALLS_REAL_METHODS);
51 public void testCanCreateNeutronFirewall(){
52 assertEquals("Error, canCreateNeutronFirewall() did not return the correct value ", HttpURLConnection.HTTP_CREATED, fwaasHandler.canCreateNeutronFirewall(any(NeutronFirewall.class)));
56 public void testNeutronFirewallCreated(){
57 verifyNoMoreInteractions(fwaasHandler);
58 fwaasHandler.canCreateNeutronFirewall(mock(NeutronFirewall.class));
59 verify(fwaasHandler, times(1)).canCreateNeutronFirewall(any(NeutronFirewall.class));
63 public void testCanUpdateNeutronFirewall(){
64 assertEquals("Error, canUpdateNeutronFirewall() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canUpdateNeutronFirewall(any(NeutronFirewall.class), any(NeutronFirewall.class)));
68 public void testCanDeleteNeutronFirewall(){
69 assertEquals("Error, canDeleteNeutronFirewall() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canDeleteNeutronFirewall(any(NeutronFirewall.class)));
73 public void testNeutronFirewallDeleted(){
74 verifyNoMoreInteractions(fwaasHandler);
75 fwaasHandler.neutronFirewallDeleted(mock(NeutronFirewall.class));
76 verify(fwaasHandler, times(1)).canDeleteNeutronFirewall(any(NeutronFirewall.class));
80 public void testCanCreateNeutronFirewallRule(){
81 assertEquals("Error, canCreateNeutronFirewallRule() did not return the correct value ", HttpURLConnection.HTTP_CREATED, fwaasHandler.canCreateNeutronFirewallRule(any(NeutronFirewallRule.class)));
85 public void testNeutronFirewallRuleCreated(){
86 verifyNoMoreInteractions(fwaasHandler);
87 fwaasHandler.neutronFirewallRuleCreated(mock(NeutronFirewallRule.class));
88 verify(fwaasHandler, times(1)).canCreateNeutronFirewallRule(any(NeutronFirewallRule.class));
92 public void testCanUpdateNeutronFirewallRule(){
93 assertEquals("Error, canUpdateNeutronFirewallRule() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canUpdateNeutronFirewallRule(any(NeutronFirewallRule.class), any(NeutronFirewallRule.class)));
97 public void testCanDeleteNeutronFirewallRule(){
98 assertEquals("Error, canDeleteNeutronFirewallRule() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canDeleteNeutronFirewallRule(any(NeutronFirewallRule.class)));
102 public void testNeutronFirewallRuleDeleted(){
103 verifyNoMoreInteractions(fwaasHandler);
104 fwaasHandler.neutronFirewallRuleDeleted(mock(NeutronFirewallRule.class));
105 verify(fwaasHandler, times(1)).canDeleteNeutronFirewallRule(any(NeutronFirewallRule.class));
109 public void testCanCreateNeutronFirewallPolicy(){
110 assertEquals("Error, canCreateNeutronFirewallPolicy() did not return the correct value ", HttpURLConnection.HTTP_CREATED, fwaasHandler.canCreateNeutronFirewallPolicy(any(NeutronFirewallPolicy.class)));
114 public void testNeutronFirewallPolicyCreated(){
115 verifyNoMoreInteractions(fwaasHandler);
116 fwaasHandler.neutronFirewallPolicyCreated(mock(NeutronFirewallPolicy.class));
117 verify(fwaasHandler, times(1)).canCreateNeutronFirewallPolicy(any(NeutronFirewallPolicy.class));
121 public void testCanUpdateNeutronFirewallPolicy(){
122 assertEquals("Error, canUpdateNeutronFirewallPolicy() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canUpdateNeutronFirewallPolicy(any(NeutronFirewallPolicy.class), any(NeutronFirewallPolicy.class)));
126 public void testCanDeleteNeutronFirewallPolicy(){
127 assertEquals("Error, canDeleteNeutronFirewallPolicy() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canDeleteNeutronFirewallPolicy(any(NeutronFirewallPolicy.class)));
131 public void testNeutronFirewallPolicyDeleted(){
132 verifyNoMoreInteractions(fwaasHandler);
133 fwaasHandler.neutronFirewallPolicyDeleted(mock(NeutronFirewallPolicy.class));
134 verify(fwaasHandler, times(1)).canDeleteNeutronFirewallPolicy(any(NeutronFirewallPolicy.class));
138 public void testProcessEvent(){
140 // no yet implemented
141 // NorthboundEvent ev = mock(NorthboundEvent.class);
142 // when(ev.getAction()).thenReturn(Action.ADD);
143 // fwaasHandler.processEvent(ev);
147 public void testSetDependencies() {
148 EventDispatcher eventDispatcher = mock(EventDispatcher.class);
150 PowerMockito.mockStatic(ServiceHelper.class);
151 PowerMockito.when(ServiceHelper.getGlobalInstance(EventDispatcher.class, fwaasHandler)).thenReturn(eventDispatcher);
153 fwaasHandler.setDependencies(mock(ServiceReference.class));
155 assertEquals("Error, did not return the correct object", fwaasHandler.eventDispatcher, eventDispatcher);