Advertisement
Guest User

SfcProviderServiceTypeAPITest

a guest
Jul 30th, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.85 KB | None | 0 0
  1. /*
  2. * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
  3. *
  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
  7. */
  8.  
  9. package org.opendaylight.sfc.provider.api;
  10.  
  11. import org.junit.Before;
  12. import org.junit.Test;
  13. import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
  14. import org.opendaylight.sfc.provider.AbstractDataStoreManager;
  15. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunction;
  16. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunctionBuilder;
  17. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sf.rev140701.service.functions.ServiceFunctionKey;
  18. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.Firewall;
  19. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.ServiceFunctionTypes;
  20. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.ServiceFunctionTypesBuilder;
  21. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.service.function.types.ServiceFunctionType;
  22. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.service.function.types.ServiceFunctionTypeBuilder;
  23. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.service.function.types.ServiceFunctionTypeKey;
  24. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.service.function.types.service.function.type.SftServiceFunctionName;
  25. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.service.function.types.service.function.type.SftServiceFunctionNameBuilder;
  26. import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sft.rev140701.service.function.types.service.function.type.SftServiceFunctionNameKey;
  27. import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  28.  
  29. import java.util.ArrayList;
  30. import java.util.List;
  31.  
  32. import static org.junit.Assert.*;
  33.  
  34. public class SfcProviderServiceTypeAPITest extends AbstractDataStoreManager{
  35.  
  36. SfcProviderServiceTypeAPILocal sfcProviderServiceTypeAPILocal;
  37.  
  38. @Before
  39. public void before() {
  40. setOdlSfc();
  41. Object[] params = {"hello"};
  42. sfcProviderServiceTypeAPILocal = new SfcProviderServiceTypeAPILocal(params);
  43. }
  44.  
  45. @Test
  46. public void testGetPut(){
  47. ServiceFunctionTypeBuilder serviceFunctionTypeBuilder = new ServiceFunctionTypeBuilder();
  48.  
  49. Class serviceFunctionTypeIdentity = Firewall.class;
  50. serviceFunctionTypeBuilder.setKey(new ServiceFunctionTypeKey(serviceFunctionTypeIdentity)).setType(serviceFunctionTypeIdentity);
  51. ServiceFunctionType serviceFunctionType = serviceFunctionTypeBuilder.build();
  52. Object[] serviceTypeObj = {serviceFunctionType};
  53. Class[] serviceTypeClass = {Firewall.class};
  54. SfcProviderServiceTypeAPI sfcProviderServiceTypeAPI = SfcProviderServiceTypeAPI.getPut(serviceTypeObj, serviceTypeClass);
  55. assertNotNull(sfcProviderServiceTypeAPI);
  56. assertEquals("Incorrectly returned value of SfcProviderServiceTypeAPI.", "putServiceFunctionType", sfcProviderServiceTypeAPI.getMethodName());
  57. }
  58.  
  59. @Test
  60. public void testPutServiceFunctionType() throws Exception{
  61. ServiceFunctionTypeBuilder serviceFunctionTypeBuilder = new ServiceFunctionTypeBuilder();
  62. Class serviceFunctionTypeIdentity = Firewall.class;
  63. serviceFunctionTypeBuilder.setKey(new ServiceFunctionTypeKey(serviceFunctionTypeIdentity)).setType(serviceFunctionTypeIdentity);
  64. ServiceFunctionType serviceFunctionType = serviceFunctionTypeBuilder.build();
  65.  
  66. assertTrue(sfcProviderServiceTypeAPILocal.putServiceFunctionType(serviceFunctionType));
  67.  
  68. // InstanceIdentifier<ServiceFunctionType> sftEntryIID =
  69. // InstanceIdentifier.builder(ServiceFunctionTypes.class)
  70. // .child(ServiceFunctionType.class, serviceFunctionType.getKey()).build();
  71. // ServiceFunctionType serviceFunctionTypeRead = SfcDataStoreAPI.readTransactionAPI(sftEntryIID, LogicalDatastoreType.CONFIGURATION);
  72. // assertEquals(serviceFunctionType, serviceFunctionTypeRead);
  73. }
  74.  
  75. @Test
  76. public void testDeleteServiceFunctionTypeEntryExecutor(){
  77. ServiceFunctionBuilder serviceFunctionBuilder = new ServiceFunctionBuilder();
  78. serviceFunctionBuilder.setName("SF1").setKey(new ServiceFunctionKey("SF1")).setType(Firewall.class);
  79. ServiceFunction serviceFunction = serviceFunctionBuilder.build();
  80.  
  81. SftServiceFunctionNameKey sftServiceFunctionNameKey =
  82. new SftServiceFunctionNameKey(serviceFunction.getName());
  83.  
  84. ServiceFunctionTypeKey serviceFunctionTypeKey = new ServiceFunctionTypeKey(new ServiceFunctionTypeKey(Firewall.class));
  85. InstanceIdentifier<SftServiceFunctionName> sftentryIID = InstanceIdentifier.builder(ServiceFunctionTypes.class)
  86. .child(ServiceFunctionType.class, serviceFunctionTypeKey)
  87. .child(SftServiceFunctionName.class, sftServiceFunctionNameKey).build();
  88.  
  89. SftServiceFunctionNameBuilder sftServiceFunctionNameBuilder = new SftServiceFunctionNameBuilder();
  90. sftServiceFunctionNameBuilder.setName("SF1").setKey(new SftServiceFunctionNameKey("SF1"));
  91. SftServiceFunctionName sftServiceFunctionName = sftServiceFunctionNameBuilder.build();
  92.  
  93. SfcDataStoreAPI.writePutTransactionAPI(sftentryIID, sftServiceFunctionName, LogicalDatastoreType.CONFIGURATION);
  94.  
  95. assertTrue(SfcProviderServiceTypeAPI.deleteServiceFunctionTypeEntryExecutor(serviceFunction));
  96. assertNull(SfcDataStoreAPI.readTransactionAPI(sftentryIID, LogicalDatastoreType.CONFIGURATION));
  97. }
  98.  
  99. @Test
  100. public void testPutAllServiceFunctionTypes() throws Exception{
  101. ServiceFunctionTypesBuilder serviceFunctionTypesBuilder = new ServiceFunctionTypesBuilder();
  102. List<ServiceFunctionType> serviceFunctionTypeList = new ArrayList<>();
  103. ServiceFunctionTypeBuilder serviceFunctionTypeBuilder = new ServiceFunctionTypeBuilder();
  104. Class serviceFunctionTypeIdentity = Firewall.class;
  105. serviceFunctionTypeBuilder.setKey(new ServiceFunctionTypeKey(serviceFunctionTypeIdentity)).setType(serviceFunctionTypeIdentity);
  106. ServiceFunctionType serviceFunctionType = serviceFunctionTypeBuilder.build();
  107. serviceFunctionTypeList.add(serviceFunctionType);
  108. serviceFunctionTypesBuilder.setServiceFunctionType(serviceFunctionTypeList);
  109. ServiceFunctionTypes serviceFunctionTypes = serviceFunctionTypesBuilder.build();
  110. assertTrue(sfcProviderServiceTypeAPILocal.putAllServiceFunctionTypes(serviceFunctionTypes));
  111.  
  112. // InstanceIdentifier<ServiceFunctionTypes> sftEntryIID =
  113. // InstanceIdentifier.builder(ServiceFunctionTypes.class).build();
  114. // ServiceFunctionTypes serviceFunctionTypesRead = SfcDataStoreAPI.readTransactionAPI(sftEntryIID, LogicalDatastoreType.CONFIGURATION);
  115. // assertEquals(serviceFunctionTypes, serviceFunctionTypesRead);
  116. }
  117.  
  118. @Test
  119. public void testReadAllServiceFunctionTypes(){
  120. ServiceFunctionTypesBuilder serviceFunctionTypesBuilder = new ServiceFunctionTypesBuilder();
  121. List<ServiceFunctionType> serviceFunctionTypeList = new ArrayList<>();
  122. ServiceFunctionTypeBuilder serviceFunctionTypeBuilder = new ServiceFunctionTypeBuilder();
  123. Class serviceFunctionTypeIdentity = Firewall.class;
  124. serviceFunctionTypeBuilder.setKey(new ServiceFunctionTypeKey(serviceFunctionTypeIdentity)).setType(serviceFunctionTypeIdentity);
  125. ServiceFunctionType serviceFunctionType = serviceFunctionTypeBuilder.build();
  126. serviceFunctionTypeList.add(serviceFunctionType);
  127. serviceFunctionTypesBuilder.setServiceFunctionType(serviceFunctionTypeList);
  128. ServiceFunctionTypes serviceFunctionTypes = serviceFunctionTypesBuilder.build();
  129. sfcProviderServiceTypeAPILocal.putAllServiceFunctionTypes(serviceFunctionTypes);
  130.  
  131. ServiceFunctionTypes outputSFTypes = sfcProviderServiceTypeAPILocal.readAllServiceFunctionTypes();
  132. assertNotNull("Variable has not been set correctly.", outputSFTypes);
  133. assertEquals("Types do not match.", serviceFunctionTypes, outputSFTypes);
  134. }
  135.  
  136. @Test
  137. public void testDeleteAllServiceFunctionTypes(){
  138. ServiceFunctionTypesBuilder serviceFunctionTypesBuilder = new ServiceFunctionTypesBuilder();
  139. List<ServiceFunctionType> serviceFunctionTypeList = new ArrayList<>();
  140. ServiceFunctionTypeBuilder serviceFunctionTypeBuilder = new ServiceFunctionTypeBuilder();
  141. Class serviceFunctionTypeIdentity = Firewall.class;
  142. serviceFunctionTypeBuilder.setKey(new ServiceFunctionTypeKey(serviceFunctionTypeIdentity)).setType(serviceFunctionTypeIdentity);
  143. ServiceFunctionType serviceFunctionType = serviceFunctionTypeBuilder.build();
  144. serviceFunctionTypeList.add(serviceFunctionType);
  145. serviceFunctionTypesBuilder.setServiceFunctionType(serviceFunctionTypeList);
  146. ServiceFunctionTypes serviceFunctionTypes = serviceFunctionTypesBuilder.build();
  147. sfcProviderServiceTypeAPILocal.putAllServiceFunctionTypes(serviceFunctionTypes);
  148.  
  149. sfcProviderServiceTypeAPILocal.deleteAllServiceFunctionTypes();
  150.  
  151. ServiceFunctionTypes outputSFTypes = sfcProviderServiceTypeAPILocal.readAllServiceFunctionTypes();
  152. assertNull("Variable has not been set correctly.", outputSFTypes);
  153. }
  154.  
  155. private class SfcProviderServiceTypeAPILocal extends SfcProviderServiceTypeAPI{
  156.  
  157. SfcProviderServiceTypeAPILocal(Object[] params) {
  158. super(params, "m");
  159. }
  160. }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement