e0990d9273ff9e3d80d9174670c308fc97ca79d6
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / services / SalPortServiceImplTest.java
1 package org.opendaylight.openflowplugin.impl.services;
2
3 import static org.mockito.Mockito.verify;
4
5 import com.google.common.collect.Lists;
6 import java.util.List;
7 import org.junit.Test;
8 import org.junit.runner.RunWith;
9 import org.mockito.runners.MockitoJUnitRunner;
10 import org.opendaylight.openflowplugin.api.openflow.device.Xid;
11 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortConfig;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortFeatures;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortNumberUni;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.port.mod.Port;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.port.mod.PortBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.service.rev131107.UpdatePortInput;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.service.rev131107.UpdatePortInputBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.service.rev131107.port.update.UpdatedPort;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.service.rev131107.port.update.UpdatedPortBuilder;
22
23 @RunWith(MockitoJUnitRunner.class)
24 public class SalPortServiceImplTest extends ServiceMocking {
25
26     private static final Long DUMMY_XID = 55L;
27     private static final Long DUMMY_PORT_NUMBER = 66L;
28     private static final String DUMMY_MAC_ADDRESS = "AA:BB:CC:DD:EE:FF";
29     SalPortServiceImpl salPortService;
30
31     @Override
32     public void initialization() {
33         super.initialization();
34         salPortService = new SalPortServiceImpl(mockedRequestContextStack, mockedDeviceContext);
35     }
36
37     @Test
38     public void testUpdatePort() throws Exception {
39         salPortService.updatePort(dummyUpdatePortInput());
40         verify(mockedRequestContextStack).createRequestContext();
41     }
42
43     @Test
44     public void testBuildRequest() {
45         final OfHeader ofHeader = salPortService.buildRequest(new Xid(DUMMY_XID), dummyUpdatePortInput());
46     }
47
48     private UpdatePortInput dummyUpdatePortInput(){
49         org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.port.mod.port.PortBuilder concretePortBuilder
50                 = new org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.port.mod.port.PortBuilder();
51         concretePortBuilder.setConfiguration(new PortConfig(true, true, true, true));
52         concretePortBuilder.setAdvertisedFeatures(new PortFeatures(true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true));
53         concretePortBuilder.setPortNumber(new PortNumberUni(DUMMY_PORT_NUMBER));
54         concretePortBuilder.setHardwareAddress(new MacAddress(DUMMY_MAC_ADDRESS));
55
56         List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.port.mod.port.Port> ports
57                 = Lists.newArrayList(concretePortBuilder.build());
58         Port port = new PortBuilder().setPort(ports).build();
59         UpdatedPort updatePort = new UpdatedPortBuilder().setPort(port).build();
60         return new UpdatePortInputBuilder().setUpdatedPort(updatePort).build();
61     }
62 }