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.openstack.netvirt.impl.NeutronL3Adapter;
30 import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
31 import org.osgi.framework.BundleContext;
32 import org.osgi.framework.ServiceReference;
33 import org.powermock.api.mockito.PowerMockito;
34 import org.powermock.core.classloader.annotations.PrepareForTest;
35 import org.powermock.modules.junit4.PowerMockRunner;
39 * Unit test for {@link FWaasHandler}
41 @RunWith(PowerMockRunner.class)
42 @PrepareForTest(ServiceHelper.class)
43 public class FWaasHandlerTest {
45 @InjectMocks FWaasHandler fwaasHandler;
49 fwaasHandler = mock(FWaasHandler.class, Mockito.CALLS_REAL_METHODS);
53 public void testCanCreateNeutronFirewall(){
54 assertEquals("Error, canCreateNeutronFirewall() did not return the correct value ", HttpURLConnection.HTTP_CREATED, fwaasHandler.canCreateNeutronFirewall(any(NeutronFirewall.class)));
58 public void testNeutronFirewallCreated(){
59 verifyNoMoreInteractions(fwaasHandler);
60 fwaasHandler.canCreateNeutronFirewall(mock(NeutronFirewall.class));
61 verify(fwaasHandler, times(1)).canCreateNeutronFirewall(any(NeutronFirewall.class));
65 public void testCanUpdateNeutronFirewall(){
66 assertEquals("Error, canUpdateNeutronFirewall() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canUpdateNeutronFirewall(any(NeutronFirewall.class), any(NeutronFirewall.class)));
70 public void testCanDeleteNeutronFirewall(){
71 assertEquals("Error, canDeleteNeutronFirewall() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canDeleteNeutronFirewall(any(NeutronFirewall.class)));
75 public void testNeutronFirewallDeleted(){
76 verifyNoMoreInteractions(fwaasHandler);
77 fwaasHandler.neutronFirewallDeleted(mock(NeutronFirewall.class));
78 verify(fwaasHandler, times(1)).canDeleteNeutronFirewall(any(NeutronFirewall.class));
82 public void testCanCreateNeutronFirewallRule(){
83 assertEquals("Error, canCreateNeutronFirewallRule() did not return the correct value ", HttpURLConnection.HTTP_CREATED, fwaasHandler.canCreateNeutronFirewallRule(any(NeutronFirewallRule.class)));
87 public void testNeutronFirewallRuleCreated(){
88 verifyNoMoreInteractions(fwaasHandler);
89 fwaasHandler.neutronFirewallRuleCreated(mock(NeutronFirewallRule.class));
90 verify(fwaasHandler, times(1)).canCreateNeutronFirewallRule(any(NeutronFirewallRule.class));
94 public void testCanUpdateNeutronFirewallRule(){
95 assertEquals("Error, canUpdateNeutronFirewallRule() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canUpdateNeutronFirewallRule(any(NeutronFirewallRule.class), any(NeutronFirewallRule.class)));
99 public void testCanDeleteNeutronFirewallRule(){
100 assertEquals("Error, canDeleteNeutronFirewallRule() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canDeleteNeutronFirewallRule(any(NeutronFirewallRule.class)));
104 public void testNeutronFirewallRuleDeleted(){
105 verifyNoMoreInteractions(fwaasHandler);
106 fwaasHandler.neutronFirewallRuleDeleted(mock(NeutronFirewallRule.class));
107 verify(fwaasHandler, times(1)).canDeleteNeutronFirewallRule(any(NeutronFirewallRule.class));
111 public void testCanCreateNeutronFirewallPolicy(){
112 assertEquals("Error, canCreateNeutronFirewallPolicy() did not return the correct value ", HttpURLConnection.HTTP_CREATED, fwaasHandler.canCreateNeutronFirewallPolicy(any(NeutronFirewallPolicy.class)));
116 public void testNeutronFirewallPolicyCreated(){
117 verifyNoMoreInteractions(fwaasHandler);
118 fwaasHandler.neutronFirewallPolicyCreated(mock(NeutronFirewallPolicy.class));
119 verify(fwaasHandler, times(1)).canCreateNeutronFirewallPolicy(any(NeutronFirewallPolicy.class));
123 public void testCanUpdateNeutronFirewallPolicy(){
124 assertEquals("Error, canUpdateNeutronFirewallPolicy() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canUpdateNeutronFirewallPolicy(any(NeutronFirewallPolicy.class), any(NeutronFirewallPolicy.class)));
128 public void testCanDeleteNeutronFirewallPolicy(){
129 assertEquals("Error, canDeleteNeutronFirewallPolicy() did not return the correct value ", HttpURLConnection.HTTP_OK, fwaasHandler.canDeleteNeutronFirewallPolicy(any(NeutronFirewallPolicy.class)));
133 public void testNeutronFirewallPolicyDeleted(){
134 verifyNoMoreInteractions(fwaasHandler);
135 fwaasHandler.neutronFirewallPolicyDeleted(mock(NeutronFirewallPolicy.class));
136 verify(fwaasHandler, times(1)).canDeleteNeutronFirewallPolicy(any(NeutronFirewallPolicy.class));
140 public void testProcessEvent(){
142 // no yet implemented
143 // NorthboundEvent ev = mock(NorthboundEvent.class);
144 // when(ev.getAction()).thenReturn(Action.ADD);
145 // fwaasHandler.processEvent(ev);
149 public void testSetDependencies() {
150 EventDispatcher eventDispatcher = mock(EventDispatcher.class);
152 PowerMockito.mockStatic(ServiceHelper.class);
153 PowerMockito.when(ServiceHelper.getGlobalInstance(EventDispatcher.class, fwaasHandler)).thenReturn(eventDispatcher);
155 fwaasHandler.setDependencies(mock(BundleContext.class), mock(ServiceReference.class));
157 assertEquals("Error, did not return the correct object", fwaasHandler.eventDispatcher, eventDispatcher);