2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
8 package org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent;
\r
10 import junit.framework.TestCase;
\r
11 import org.junit.Assert;
\r
12 import org.junit.Before;
\r
13 import org.junit.Test;
\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValues;
\r
15 import static org.junit.Assert.*;
\r
17 import static org.junit.Assert.*;
\r
18 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
\r
19 import org.opendaylight.nemo.user.tenantmanager.TenantManage;
\r
20 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;
\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.hosts.PhysicalHost;
\r
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.*;
\r
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.common.rev151010.PhysicalHostId;
\r
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.common.rev151010.PhysicalHostName;
\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.*;
\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.OperationBuilder;
\r
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.OperationKey;
\r
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.definitions.TemplateDefinition;
\r
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.instances.TemplateInstance;
\r
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
\r
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.*;
\r
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.flow.instance.MatchItem;
\r
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.flow.instance.MatchItemBuilder;
\r
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.flow.instance.MatchItemKey;
\r
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.MatchItemValueBuilder;
\r
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.Property;
\r
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.SubNode;
\r
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.SubNodeBuilder;
\r
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.SubNodeKey;
\r
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValuesBuilder;
\r
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.*;
\r
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValuesBuilder;
\r
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.ConditionSegment;
\r
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.ConditionSegmentBuilder;
\r
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.ConditionSegmentKey;
\r
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.ConditionParameterTargetValueBuilder;
\r
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.operation.instance.Action;
\r
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.operation.instance.ActionBuilder;
\r
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.operation.instance.ActionKey;
\r
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.TemplateParameter;
\r
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents.AbstractObjects;
\r
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.objects.AbstractConnection;
\r
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.objects.AbstractFlow;
\r
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.objects.AbstractNode;
\r
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.operations.AbstractOperation;
\r
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue;
\r
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.AbstractIntents;
\r
58 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.AbstractObjects;
\r
59 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.AbstractNode;
\r
61 import java.lang.String;
\r
62 import java.lang.reflect.Field;
\r
63 import java.lang.reflect.Method;
\r
65 import java.util.ArrayList;
\r
66 import java.util.HashMap;
\r
67 import java.util.LinkedList;
\r
69 import static org.mockito.Mockito.*;
\r
71 * Created by zhangmeng on 2015/12/30.
\r
73 public class UpdateTemplateInstanceTest extends TestCase {
\r
74 private DataBroker dataBroker;
\r
75 private TenantManage tenantManage;
\r
76 private UpdateTemplateInstance updateTemplateInstance;
\r
77 private Class<UpdateTemplateInstance> class1;
\r
78 private Method method;
\r
79 private Field field;
\r
80 private TemplateInstance templateInstance;
\r
81 private UserId userId;
\r
82 //private TemplateDefinition templateDefinition;
\r
86 public void setUp() throws Exception {
\r
87 dataBroker = mock(DataBroker.class);
\r
88 tenantManage = mock(TenantManage.class);
\r
89 class1 = UpdateTemplateInstance.class;
\r
90 updateTemplateInstance = new UpdateTemplateInstance(dataBroker,tenantManage);
\r
91 templateInstance = mock(TemplateInstance.class);
\r
92 userId = mock(UserId.class);
\r
93 //templateDefinition = mock(TemplateDefinition.class);
\r
97 public void testCheckTemplateInstance1() throws Exception {
\r
99 TemplateName templateName = new TemplateName("tename");
\r
100 TemplateDefinition templateDefinition = mock(TemplateDefinition.class);
\r
101 Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();
\r
102 templateMap.put(templateName,templateDefinition);
\r
103 when(tenantManage.getTempalteDefinition(userId)).thenReturn(templateMap);
\r
104 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
105 when(tenantManage.getTempalteDefinition(userId)).thenReturn(templateMap);
\r
106 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
107 //when(templateMap.containsKey(templateName)).thenReturn(true);
\r
109 //test (definition!=null)
\r
110 List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();
\r
111 TemplateParameter templateParameter = mock(TemplateParameter.class);
\r
112 templateParameters.add(templateParameter);
\r
113 when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);
\r
114 ParameterName parameterName = new ParameterName("ParameterName");
\r
115 when(templateParameter.getParameterName()).thenReturn(parameterName);
\r
116 when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.Range);
\r
120 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();
\r
121 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);
\r
122 instanceParameters.add(templateParameter2);
\r
123 when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);
\r
124 when(templateParameter2.getParameterName()).thenReturn(parameterName);
\r
125 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
126 when(templateParameter2.getParameterValues()).thenReturn(parameterValues);
\r
127 when(parameterValues.getIntValue()).thenReturn(null);
\r
128 when(parameterValues.getStringValue()).thenReturn(null);
\r
129 when(parameterValues.getRangeValue()).thenReturn(null);
\r
130 //when(parameterValues.getRangeValue()).thenReturn(mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class));
\r
131 when(templateParameter2.getParameterName()).thenReturn(parameterName);
\r
132 when(templateParameter2.getParameterValues()).thenReturn(parameterValues);
\r
133 TemplateInstanceName templateInstanceName = mock(TemplateInstanceName.class);
\r
134 when(templateInstance.getTemplateInstanceName()).thenReturn(templateInstanceName);
\r
136 Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The value type should be string");
\r
137 //System.out.println("########### Result1 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+" #################");
\r
138 //Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == null);
\r
145 public void testCheckTemplateInstance2() throws Exception {
\r
146 TemplateName templateName = new TemplateName("tename");
\r
147 TemplateDefinition templateDefinition = mock(TemplateDefinition.class);
\r
148 Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();
\r
149 templateMap.put(templateName,templateDefinition);
\r
150 when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);
\r
151 when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);
\r
152 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
153 when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);
\r
154 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
156 List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();
\r
157 TemplateParameter templateParameter = mock(TemplateParameter.class);
\r
158 templateParameters.add(templateParameter);
\r
159 when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);
\r
160 ParameterName parameterName = new ParameterName("ParameterName");
\r
161 when(templateParameter.getParameterName()).thenReturn(parameterName);
\r
162 when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.Int);
\r
164 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();
\r
165 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);
\r
166 instanceParameters.add(templateParameter2);
\r
167 when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);
\r
168 when(templateParameter2.getParameterName()).thenReturn(parameterName);
\r
169 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
170 when(templateParameter2.getParameterValues()).thenReturn(parameterValues);
\r
171 List<IntValue> intValues = new ArrayList<IntValue>();
\r
172 when(parameterValues.getIntValue()).thenReturn(intValues);
\r
173 Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The value type should be string");
\r
174 //System.out.println("########### Result2 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+" #################");
\r
178 public void testCheckTemplateInstance3() throws Exception {
\r
179 TemplateName templateName = new TemplateName("tename");
\r
180 TemplateDefinition templateDefinition = mock(TemplateDefinition.class);
\r
181 Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();
\r
182 templateMap.put(templateName,templateDefinition);
\r
183 when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);
\r
184 when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);
\r
185 Map<UserId, User> usersMap = new HashMap<UserId, User>();
\r
186 UserId userId2 = mock(UserId.class);
\r
187 User user = mock(User.class);
\r
188 usersMap.put(userId2,user);
\r
189 when(tenantManage.getUsers()).thenReturn(usersMap);
\r
190 when(user.getUserRole()).thenReturn(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName(NEMOConstants.admin));
\r
191 when(user.getUserId()).thenReturn(userId2);
\r
192 when(tenantManage.getDefinitionDataStore(userId2)).thenReturn(templateMap);
\r
193 when(user.getUserId()).thenReturn(userId2);
\r
194 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
195 when(tenantManage.getDefinitionDataStore(userId2)).thenReturn(templateMap);
\r
196 when(user.getUserId()).thenReturn(userId2);
\r
197 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
198 when(tenantManage.getDefinitionDataStore(userId2)).thenReturn(templateMap);
\r
200 List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();
\r
201 TemplateParameter templateParameter = mock(TemplateParameter.class);
\r
202 templateParameters.add(templateParameter);
\r
203 when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);
\r
204 ParameterName parameterName = new ParameterName("ParameterName");
\r
205 when(templateParameter.getParameterName()).thenReturn(parameterName);
\r
206 when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.String);
\r
208 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();
\r
209 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);
\r
210 instanceParameters.add(templateParameter2);
\r
211 when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);
\r
212 when(templateParameter2.getParameterName()).thenReturn(parameterName);
\r
213 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
214 when(templateParameter2.getParameterValues()).thenReturn(parameterValues);
\r
215 when(parameterValues.getIntValue()).thenReturn(null);
\r
216 when(parameterValues.getStringValue()).thenReturn(null);
\r
217 when(parameterValues.getRangeValue()).thenReturn(null);
\r
218 Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The value type should be string");
\r
219 //System.out.println("########### Result3 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+" #################");
\r
222 public void testCheckTemplateInstance4() throws Exception {
\r
223 TemplateName templateName = new TemplateName("tename");
\r
224 TemplateDefinition templateDefinition = mock(TemplateDefinition.class);
\r
225 Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();
\r
226 templateMap.put(templateName,templateDefinition);
\r
227 when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);
\r
228 when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);
\r
229 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
230 when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);
\r
231 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
233 List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();
\r
234 TemplateParameter templateParameter = mock(TemplateParameter.class);
\r
235 templateParameters.add(templateParameter);
\r
236 when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);
\r
237 ParameterName parameterName = new ParameterName("ParameterName");
\r
238 when(templateParameter.getParameterName()).thenReturn(parameterName);
\r
239 when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.Int);
\r
241 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();
\r
242 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);
\r
243 instanceParameters.add(templateParameter2);
\r
244 when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);
\r
245 when(templateParameter2.getParameterName()).thenReturn(new ParameterName("ParameterName2"));
\r
246 when(templateParameter2.getParameterName()).thenReturn(new ParameterName("ParameterName2"));
\r
247 //Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The parameter ParameterName2 is not defined.");
\r
248 System.out.println("########### Result4 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+" #################");
\r
252 public void testCheckTemplateInstance5() throws Exception {
\r
253 TemplateName templateName = new TemplateName("tename");
\r
254 TemplateDefinition templateDefinition = mock(TemplateDefinition.class);
\r
255 Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();
\r
256 templateMap.put(templateName,templateDefinition);
\r
257 when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);
\r
258 when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);
\r
259 Map<UserId, User> usersMap = new HashMap<UserId, User>();
\r
260 UserId userId2 = mock(UserId.class);
\r
261 User user = mock(User.class);
\r
262 usersMap.put(userId2,user);
\r
263 when(tenantManage.getUsers()).thenReturn(usersMap);
\r
265 when(user.getUserRole()).thenReturn(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName("asd"));
\r
266 when(templateInstance.getTemplateName()).thenReturn(templateName);
\r
267 //Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The template tename is not exist.");
\r
268 System.out.println("########### Result5 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+" #################");
\r
275 public void testGetTempalteDefinition() throws Exception {
\r
276 method = class1.getDeclaredMethod("getTempalteDefinition",new Class[]{
\r
279 method.setAccessible(true);
\r
281 UserId userId = mock(UserId.class);
\r
282 User user = mock(User.class);
\r
283 TemplateName templateName = new TemplateName("tename");
\r
284 TemplateDefinition templateDefinition = mock(TemplateDefinition.class);
\r
285 Map<UserId, User> usersMap = new HashMap<UserId, User>();
\r
286 Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();
\r
289 usersMap.put(userId,user);
\r
290 templateMap.put(templateName,templateDefinition);
\r
292 when(tenantManage.getUsers()).thenReturn(usersMap);
\r
293 when(user.getUserRole()).thenReturn(new UserRoleName("admin"));
\r
294 when(user.getUserId()).thenReturn(userId);
\r
295 when(tenantManage.getTempalteDefinition(userId)).thenReturn(templateMap);
\r
296 Assert.assertTrue(method.invoke(updateTemplateInstance, templateName) != null);
\r
300 public void testgetcreateInstance() throws Exception {
\r
301 method = class1.getDeclaredMethod("createInstance",new Class[]{
\r
303 TemplateDefinition.class,
\r
307 method.setAccessible(true);
\r
308 UserId userid = mock(UserId.class);
\r
309 TemplateDefinition definition = mock(TemplateDefinition.class);
\r
310 Map<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues> instaceParameterMap = new HashMap<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues>();
\r
311 ParameterName parameterName = new ParameterName("ParameterName");
\r
312 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
313 instaceParameterMap.put(parameterName,parameterValues);
\r
314 String instanceName = new String("instance");
\r
317 List<TemplateParameter> teplateParameters = new ArrayList<TemplateParameter>();
\r
318 TemplateParameter parameter = mock(TemplateParameter.class);
\r
319 teplateParameters.add(parameter);
\r
320 when(definition.getTemplateParameter()).thenReturn(teplateParameters);
\r
321 AbstractIntents abstractIntents = mock(AbstractIntents.class);
\r
322 AbstractObjects abstractObjects = mock(AbstractObjects.class);
\r
323 when(definition.getAbstractIntents()).thenReturn(abstractIntents);
\r
324 when(abstractIntents.getAbstractObjects()).thenReturn(abstractObjects);
\r
325 when(definition.getAbstractIntents()).thenReturn(abstractIntents);
\r
326 when(abstractIntents.getAbstractObjects()).thenReturn(abstractObjects);
\r
327 List<AbstractNode> abstractNodes = new ArrayList<AbstractNode>();
\r
328 AbstractNode abstractNode = mock(AbstractNode.class);
\r
329 abstractNodes.add(abstractNode);
\r
330 when(abstractObjects.getAbstractNode()).thenReturn(abstractNodes);
\r
331 when(abstractObjects.getAbstractNode()).thenReturn(abstractNodes);
\r
332 when(abstractNode.getNodeType()).thenReturn(new NodeType("host"));
\r
333 Map<PhysicalHostName, PhysicalHost> physicalHostMap = new HashMap<PhysicalHostName, PhysicalHost>();
\r
334 PhysicalHostName physicalHostName = new PhysicalHostName("hostname");
\r
335 PhysicalHost physicalHost = mock(PhysicalHost.class);
\r
336 physicalHostMap.put(physicalHostName,physicalHost);
\r
337 field = class1.getDeclaredField("getDefinitions");
\r
338 field.setAccessible(true);
\r
339 GetDefinitions getDefinitions = mock(GetDefinitions.class);
\r
340 field.set(updateTemplateInstance,getDefinitions);
\r
341 when(getDefinitions.getPhysicalHost()).thenReturn(physicalHostMap);
\r
342 when(abstractNode.getNodeName()).thenReturn(new NodeName("hostname"));
\r
343 PhysicalHostId physicalHostId = new PhysicalHostId("11111111-1111-1111-1111-111111111111");
\r
344 when(abstractNode.getNodeName()).thenReturn(new NodeName("hostname"));
\r
345 when(physicalHost.getHostId()).thenReturn(physicalHostId);
\r
346 when(abstractNode.getNodeName()).thenReturn(new NodeName("ParameterName"));
\r
347 when(abstractNode.getNodeName()).thenReturn(new NodeName("ParameterName"));
\r
348 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValues = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
349 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);
\r
350 stringValues.add(stringValue);
\r
351 when(parameterValues.getStringValue()).thenReturn(stringValues);
\r
352 when(stringValue.getValue()).thenReturn("test");
\r
353 when(abstractNode.getNodeType()).thenReturn(new NodeType("ParameterName"));
\r
354 when(abstractNode.getNodeType()).thenReturn(new NodeType("ParameterName"));
\r
355 when(parameterValues.getStringValue()).thenReturn(stringValues);
\r
356 when(stringValue.getValue()).thenReturn("test");
\r
358 // if (abstractNode.getSubNode()!=null)
\r
359 List<SubNode> subNodeList = new LinkedList<SubNode>();
\r
360 SubNode subNode = mock(SubNode.class);
\r
361 subNodeList.add(subNode);
\r
362 when(abstractNode.getSubNode()).thenReturn(subNodeList);
\r
364 field = class1.getDeclaredField("abstractInstanceIdMap");
\r
365 field.setAccessible(true);
\r
366 Map<String,String> abstractInstanceIdMap = new HashMap<String,String>();
\r
367 String s1 = "11111111-1111-1111-1111-111111111111";
\r
368 String s2 = "11111111-1111-1111-1111-111111111111";
\r
369 abstractInstanceIdMap.put(s1,s2);
\r
370 field.set(updateTemplateInstance,abstractInstanceIdMap);
\r
371 when(subNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
372 when(subNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
373 when(subNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
375 when(abstractNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
376 when(abstractNode.getNodeName()).thenReturn(new NodeName("hostname"));
\r
377 when(abstractNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
379 //if (abstractNode.getProperty()!=null)
\r
380 List<Property> propertyList = new LinkedList<Property>();
\r
381 Property property = mock(Property.class);
\r
382 propertyList.add(property);
\r
383 //when(abstractNode.getProperty()).thenReturn(propertyList);
\r
384 when(abstractNode.getProperty()).thenReturn(null);
\r
385 when(property.getPropertyName()).thenReturn(new PropertyName(NEMOConstants.sub_nodes));
\r
386 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues propertyValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues.class);
\r
387 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue> stringValues2 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue>();
\r
388 //List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue> intValues = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue>();
\r
389 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue stringValue2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue.class);
\r
390 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue intValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue.class);
\r
391 RangeValue rangeValue = mock(RangeValue.class);
\r
392 stringValues2.add(stringValue2);
\r
393 //intValues.add(intValue);
\r
394 when(property.getPropertyValues()).thenReturn(propertyValues);
\r
395 when(propertyValues.getStringValue()).thenReturn(stringValues2);
\r
396 when(property.getPropertyValues()).thenReturn(propertyValues);
\r
397 when(propertyValues.getIntValue()).thenReturn(null);
\r
398 when(property.getPropertyValues()).thenReturn(propertyValues);
\r
399 when(propertyValues.getRangeValue()).thenReturn(null);
\r
401 List<StringValue> subnodes = new ArrayList<StringValue>();
\r
402 StringValue subnode = mock(StringValue.class);
\r
403 subnodes.add(subnode);
\r
404 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues propertyValues2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues.class);
\r
405 when(property.getPropertyValues()).thenReturn(propertyValues2);
\r
406 when(propertyValues2.getStringValue()).thenReturn(subnodes);
\r
407 when(subnode.getValue()).thenReturn("ParameterName");
\r
408 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValues3 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
409 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValue3 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);
\r
410 stringValues3.add(stringValue3);
\r
411 when(subnode.getValue()).thenReturn("ParameterName");
\r
412 when(parameterValues.getStringValue()).thenReturn(stringValues3);
\r
413 String s3 = "test";
\r
414 when(stringValue3.getValue()).thenReturn(s3);
\r
415 when(tenantManage.getObjectId(userid,s3)).thenReturn("test");
\r
416 when(stringValue3.getValue()).thenReturn(s3);
\r
417 when(tenantManage.getObjectId(userid,s3)).thenReturn("test");
\r
420 //if (objects.getAbstractConnection()!=null)
\r
421 List<AbstractConnection> abstractConnections = new ArrayList<AbstractConnection>();
\r
422 AbstractConnection abstractConnection = mock(AbstractConnection.class);
\r
423 abstractConnections.add(abstractConnection);
\r
424 when(abstractObjects.getAbstractConnection()).thenReturn(abstractConnections);
\r
425 when(abstractObjects.getAbstractConnection()).thenReturn(abstractConnections);
\r
426 when(abstractConnection.getConnectionName()).thenReturn(new ConnectionName("connname"));
\r
427 when(abstractConnection.getConnectionType()).thenReturn(new ConnectionType("conntype"));
\r
428 when(abstractConnection.getConnectionId()).thenReturn(new ConnectionId("11111111-1111-1111-1111-111111111111"));
\r
429 when(abstractConnection.getConnectionName()).thenReturn(new ConnectionName("connname"));
\r
430 when(abstractConnection.getConnectionId()).thenReturn(new ConnectionId("11111111-1111-1111-1111-111111111111"));
\r
431 List<EndNode> endNodeList = new LinkedList<EndNode>();
\r
432 EndNode endNode = mock(EndNode.class);
\r
433 endNodeList.add(endNode);
\r
434 when(abstractConnection.getEndNode()).thenReturn(endNodeList);
\r
435 when(abstractConnection.getEndNode()).thenReturn(endNodeList);
\r
436 abstractInstanceIdMap.clear();
\r
437 abstractInstanceIdMap.put(s1,s2);
\r
438 when(endNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
439 when(endNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
440 when(endNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));
\r
441 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property> propertyList2 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property>();
\r
442 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property property2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property.class);
\r
443 propertyList2.add(property2);
\r
444 when(abstractConnection.getProperty()).thenReturn(propertyList2);
\r
445 when(abstractConnection.getProperty()).thenReturn(propertyList2);
\r
447 //test createConnProperty() time1
\r
448 when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));
\r
449 when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));
\r
451 List<StringValue> stringValuesConn = new LinkedList<StringValue>();
\r
452 StringValue stringValueConn = mock(StringValue.class);
\r
453 stringValuesConn.add(stringValueConn);
\r
454 List<IntValue> intValuesConn = new LinkedList<IntValue>();
\r
455 IntValue intValueConn = mock(IntValue.class);
\r
456 intValuesConn.add(intValueConn);
\r
457 RangeValue rangeValueConn = mock(RangeValue.class);
\r
458 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues propertyValuesConn = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues.class);
\r
459 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
460 when(propertyValuesConn.getStringValue()).thenReturn(stringValuesConn);
\r
461 when(stringValueConn.getValue()).thenReturn("ParameterName");
\r
462 when(stringValueConn.getValue()).thenReturn("ParameterName");
\r
463 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValues4 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
464 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValue4 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);
\r
465 stringValues4.add(stringValue4);
\r
466 when(parameterValues.getStringValue()).thenReturn(stringValues4);
\r
467 when(parameterValues.getStringValue()).thenReturn(stringValues4);
\r
468 when(stringValue4.getValue()).thenReturn("stringValue4");
\r
469 when(stringValue4.getValue()).thenReturn("stringValue4");
\r
470 when(parameterValues.getIntValue()).thenReturn(intValuesConn);
\r
471 when(parameterValues.getIntValue()).thenReturn(intValuesConn);
\r
472 when(intValueConn.getValue()).thenReturn(1L);
\r
473 when(intValueConn.getValue()).thenReturn(1L);
\r
474 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValue2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);
\r
475 when(parameterValues.getRangeValue()).thenReturn(rangeValue2);
\r
476 when(parameterValues.getRangeValue()).thenReturn(rangeValue2);
\r
477 when(rangeValueConn.getMax()).thenReturn(2L);
\r
478 when(rangeValueConn.getMin()).thenReturn(1L);
\r
480 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue> intValues2 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue>();
\r
481 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
482 when(propertyValuesConn.getIntValue()).thenReturn(intValues2);
\r
483 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
484 when(propertyValuesConn.getIntValue()).thenReturn(intValues2);
\r
486 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
487 when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);
\r
488 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
489 when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);
\r
491 //test createConnProperty() time2
\r
492 when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));
\r
493 when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));
\r
495 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
496 when(propertyValuesConn.getStringValue()).thenReturn(stringValuesConn);
\r
497 when(stringValueConn.getValue()).thenReturn("ParameterName");
\r
498 when(stringValueConn.getValue()).thenReturn("ParameterName");
\r
499 when(parameterValues.getStringValue()).thenReturn(stringValues4);
\r
500 when(parameterValues.getStringValue()).thenReturn(stringValues4);
\r
501 when(stringValue4.getValue()).thenReturn("stringValue4");
\r
502 when(stringValue4.getValue()).thenReturn("stringValue4");
\r
503 when(parameterValues.getIntValue()).thenReturn(intValuesConn);
\r
504 when(parameterValues.getIntValue()).thenReturn(intValuesConn);
\r
505 when(intValueConn.getValue()).thenReturn(1L);
\r
506 when(intValueConn.getValue()).thenReturn(1L);
\r
507 when(parameterValues.getRangeValue()).thenReturn(rangeValue2);
\r
508 when(parameterValues.getRangeValue()).thenReturn(rangeValue2);
\r
509 when(rangeValueConn.getMax()).thenReturn(2L);
\r
510 when(rangeValueConn.getMin()).thenReturn(1L);
\r
511 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
512 when(propertyValuesConn.getIntValue()).thenReturn(intValues2);
\r
513 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
514 when(propertyValuesConn.getIntValue()).thenReturn(intValues2);
\r
515 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
516 when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);
\r
517 when(property2.getPropertyValues()).thenReturn(propertyValuesConn);
\r
518 when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);
\r
520 // if (objects.getAbstractFlow()!=null)
\r
521 List<AbstractFlow> abstractFlows = new ArrayList<AbstractFlow>();
\r
522 AbstractFlow abstractFlow = mock(AbstractFlow.class);
\r
523 abstractFlows.add(abstractFlow);
\r
524 when(abstractObjects.getAbstractFlow()).thenReturn(abstractFlows);
\r
525 when(abstractObjects.getAbstractFlow()).thenReturn(abstractFlows);
\r
526 when(abstractFlow.getFlowName()).thenReturn(new FlowName("FlowName"));
\r
527 //abstractInstanceIdMap.clear();
\r
528 when(abstractFlow.getFlowId()).thenReturn(new FlowId("11111111-1111-1111-1111-111111111111"));
\r
529 List<MatchItem> matchItems = new LinkedList<MatchItem>();
\r
530 MatchItem matchItem = mock(MatchItem.class);
\r
531 matchItems.add(matchItem);
\r
532 when(abstractFlow.getMatchItem()).thenReturn(matchItems);
\r
533 when(abstractFlow.getMatchItem()).thenReturn(matchItems);
\r
534 //test createMatchItem
\r
535 when(matchItem.getMatchItemName()).thenReturn(new MatchItemName("MatchItemName"));
\r
536 when(matchItem.getMatchItemName()).thenReturn(new MatchItemName("MatchItemName"));
\r
537 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.MatchItemValue matchItemValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.MatchItemValue.class);
\r
538 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue); //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
\r
539 when(matchItemValue.getStringValue()).thenReturn("ParameterName");
\r
540 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);
\r
541 when(matchItemValue.getStringValue()).thenReturn("ParameterName");
\r
542 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);
\r
543 when(matchItemValue.getStringValue()).thenReturn("ParameterName");
\r
544 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesMatch = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
545 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueMatch = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);
\r
546 stringValuesMatch.add(stringValueMatch);
\r
547 List<IntValue> intValuesMatch = new LinkedList<IntValue>();
\r
548 IntValue intValueMatch = mock(IntValue.class);
\r
549 intValuesMatch.add(intValueMatch);
\r
550 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValueMatch = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);
\r
551 when(parameterValues.getStringValue()).thenReturn(stringValuesMatch);
\r
552 when(parameterValues.getStringValue()).thenReturn(stringValuesMatch);
\r
553 when(stringValueMatch.getValue()).thenReturn("value");
\r
554 when(parameterValues.getIntValue()).thenReturn(intValuesMatch);
\r
555 when(parameterValues.getIntValue()).thenReturn(intValuesMatch);
\r
556 when(intValueMatch.getValue()).thenReturn(2L);
\r
557 when(parameterValues.getRangeValue()).thenReturn(rangeValueMatch);
\r
558 when(parameterValues.getRangeValue()).thenReturn(rangeValueMatch);
\r
559 when(rangeValueMatch.getMax()).thenReturn(2L);
\r
560 when(rangeValueMatch.getMin()).thenReturn(1L);
\r
561 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);
\r
562 when(matchItemValue.getIntValue()).thenReturn(1L);
\r
563 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);
\r
564 when(matchItemValue.getIntValue()).thenReturn(2L);
\r
565 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.match.item.value.RangeValue rangeValue3 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.match.item.value.RangeValue.class);
\r
566 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);
\r
567 when(matchItemValue.getRangeValue()).thenReturn(rangeValue3);
\r
568 when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);
\r
569 when(matchItemValue.getRangeValue()).thenReturn(rangeValue3);
\r
572 //if (definition.getAbstractIntents().getAbstractOperations()!=null)
\r
573 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents.AbstractOperations abstractOperations = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents.AbstractOperations.class);
\r
574 List<AbstractOperation> abstractOperationList = new ArrayList<AbstractOperation>();
\r
575 AbstractOperation abstractOperation = mock(AbstractOperation.class);
\r
576 abstractOperationList.add(abstractOperation);
\r
577 when(definition.getAbstractIntents()).thenReturn(abstractIntents);
\r
578 when(abstractIntents.getAbstractOperations()).thenReturn(abstractOperations);
\r
579 when(definition.getAbstractIntents()).thenReturn(abstractIntents);
\r
580 when(abstractIntents.getAbstractOperations()).thenReturn(abstractOperations);
\r
581 when(abstractOperations.getAbstractOperation()).thenReturn(abstractOperationList);
\r
582 instaceParameterMap.clear();
\r
583 parameterName = new ParameterName("OperationName"+"."+NEMOConstants.Priority);
\r
584 instaceParameterMap.put(parameterName,parameterValues);
\r
585 when(abstractOperation.getOperationName()).thenReturn(new OperationName("OperationName"));
\r
586 when(abstractOperation.getOperationName()).thenReturn(new OperationName("OperationName"));
\r
587 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue> intValuesOp = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue>();
\r
588 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue intValueOp = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue.class);;
\r
589 intValuesOp.add(intValueOp);
\r
590 when(parameterValues.getIntValue()).thenReturn(intValuesOp);
\r
591 when(parameterValues.getStringValue()).thenReturn(null);
\r
592 when(parameterValues.getRangeValue()).thenReturn(null);
\r
593 when(parameterValues.getIntValue()).thenReturn(intValuesOp);
\r
594 when(intValueOp.getValue()).thenReturn(1L);
\r
596 //when(abstractOperation.getTargetObject()).thenReturn(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.ObjectId("11111111-1111-1111-1111-111111111111"));
\r
599 parameterName = new ParameterName(NEMOConstants.Target+"."+"OperationName");
\r
600 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
601 instaceParameterMap.put(parameterName,parameterValues2);
\r
602 when(abstractOperation.getOperationName()).thenReturn(new OperationName("OperationName"));
\r
603 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesOp = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
604 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueOp = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);;
\r
605 stringValuesOp.add(stringValueOp);
\r
606 Map<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues, String> nameIdMap = new HashMap<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues, String>();
\r
607 String s4 = NEMOConstants.Target+"."+"OperationName";
\r
608 String s5 = "11111111-1111-1111-1111-111111111111";
\r
609 nameIdMap.put(parameterValues2,s5);
\r
610 field = class1.getDeclaredField("nameIdMap");
\r
611 field.setAccessible(true);
\r
612 field.set(updateTemplateInstance,nameIdMap);
\r
613 when(parameterValues2.getIntValue()).thenReturn(null);
\r
614 when(parameterValues2.getStringValue()).thenReturn(stringValuesOp);
\r
615 when(parameterValues2.getRangeValue()).thenReturn(null);
\r
618 //if (abstractOperation.getConditionSegment()!=null)
\r
619 List<ConditionSegment> conditionSegments = new LinkedList<ConditionSegment>();
\r
620 ConditionSegment conditionSegment = mock(ConditionSegment.class);
\r
621 conditionSegments.add(conditionSegment);
\r
622 when(abstractOperation.getConditionSegment()).thenReturn(conditionSegments);
\r
624 //test createCondition
\r
625 //instaceParameterMap.clear();
\r
626 ParameterName parameterNamecondition = new ParameterName("ParameterName");
\r
627 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValuesCodition = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
628 instaceParameterMap.put(parameterNamecondition,parameterValuesCodition);
\r
629 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.ConditionParameterTargetValue conditionParameterTargetValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.ConditionParameterTargetValue.class);
\r
630 when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);
\r
631 when(conditionParameterTargetValue.getStringValue()).thenReturn("ParameterName");
\r
632 when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);
\r
633 when(conditionParameterTargetValue.getStringValue()).thenReturn("ParameterName");
\r
634 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesCod = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
635 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue> intValuesCod = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue>();
\r
636 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueCod = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);
\r
637 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue intValueCod = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue.class);
\r
638 stringValuesCod.add(stringValueCod);
\r
639 intValuesCod.add(intValueCod);
\r
640 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValueCod = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);
\r
641 when(parameterValuesCodition.getStringValue()).thenReturn(stringValuesCod);
\r
642 when(parameterValuesCodition.getStringValue()).thenReturn(stringValuesCod);
\r
643 when(stringValueCod.getValue()).thenReturn("stringValueCod");
\r
644 when(parameterValuesCodition.getIntValue()).thenReturn(intValuesCod);
\r
645 when(parameterValuesCodition.getIntValue()).thenReturn(intValuesCod);
\r
646 when(intValueCod.getValue()).thenReturn(1L);
\r
647 when(parameterValuesCodition.getRangeValue()).thenReturn(rangeValueCod);
\r
648 when(parameterValuesCodition.getRangeValue()).thenReturn(rangeValueCod);
\r
649 when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);
\r
650 when(conditionParameterTargetValue.getIntValue()).thenReturn(1L);
\r
651 when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);
\r
652 when(conditionParameterTargetValue.getIntValue()).thenReturn(1L);
\r
653 when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);
\r
654 when(conditionParameterTargetValue.getRangeValue()).thenReturn(mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.condition.parameter.target.value.RangeValue.class));
\r
655 when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);
\r
656 when(conditionParameterTargetValue.getRangeValue()).thenReturn(mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.condition.parameter.target.value.RangeValue.class));
\r
658 //if (abstractOperation.getAction()==null)
\r
659 /* List<Action> actions = new LinkedList<Action>();
\r
660 Action action = mock(Action.class);
\r
661 actions.add(action);*/
\r
662 when(abstractOperation.getAction()).thenReturn(null);
\r
664 method.invoke(updateTemplateInstance, userid, definition, instaceParameterMap, instanceName);
\r
665 System.out.println("########### Result XXXX "+method.invoke(updateTemplateInstance,userid,definition,instaceParameterMap,instanceName)+" ####");
\r
666 // Assert.assertTrue(method.invoke(userid,definition,instaceParameterMap,instanceName) != null);
\r
672 public void testcreateAction() throws Exception {
\r
673 method = class1.getDeclaredMethod("createAction",new Class[]{
\r
677 method.setAccessible(true);
\r
678 Action action = mock(Action.class);
\r
679 HashMap<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues> instaceParameterMap = new HashMap<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues>();
\r
680 ParameterName parameterNameAc = new ParameterName("ParameterName");
\r
681 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValuesAc = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);
\r
682 instaceParameterMap.put(parameterNameAc,parameterValuesAc);
\r
684 //test createAction
\r
685 when(action.getActionName()).thenReturn(new ActionName("action"));
\r
686 when(action.getActionName()).thenReturn(new ActionName("action"));
\r
688 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValues parameterValuesAction = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValues.class);
\r
689 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
691 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue> stringValuesAc1 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue>();
\r
692 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue stringValueAc1 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue.class);
\r
693 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue> intValuesAc1 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue>();
\r
694 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue intValueAc1 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue.class);
\r
695 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.RangeValue rangeValueAc1 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.RangeValue.class);
\r
696 stringValuesAc1.add(stringValueAc1);
\r
697 intValuesAc1.add(intValueAc1);
\r
698 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
699 when(parameterValuesAction.getStringValue()).thenReturn(stringValuesAc1);
\r
700 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
701 when(parameterValuesAction.getStringValue()).thenReturn(stringValuesAc1);
\r
702 when(stringValueAc1.getValue()).thenReturn("ParameterName");
\r
703 when(stringValueAc1.getValue()).thenReturn("ParameterName");
\r
704 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesAc2 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();
\r
705 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue> intValuesAc2 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue>();
\r
706 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueAc2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);
\r
707 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue intValueAc2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue.class);
\r
708 stringValuesAc2.add(stringValueAc2);
\r
709 intValuesAc2.add(intValueAc2);
\r
710 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValueAc2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);
\r
711 when(parameterValuesAc.getStringValue()).thenReturn(stringValuesAc2);
\r
712 when(parameterValuesAc.getStringValue()).thenReturn(stringValuesAc2);
\r
715 Map<String, String> nameIdMap = new HashMap<String, String>();
\r
717 String s2 = "11111111-1111-1111-1111-111111111111";
\r
718 nameIdMap.put(s1,s2);
\r
719 field = class1.getDeclaredField("nameIdMap");
\r
720 field.setAccessible(true);
\r
721 field.set(updateTemplateInstance,nameIdMap);
\r
723 field = class1.getDeclaredField("abstractInstanceIdMap");
\r
724 field.setAccessible(true);
\r
725 Map<String,String> abstractInstanceIdMap = new HashMap<String,String>();
\r
726 String s3 = "11111111-1111-1111-1111-111111111111";
\r
727 String s4 = "11111111-1111-1111-1111-111111111111";
\r
728 abstractInstanceIdMap.put(s3,s4);
\r
729 field.set(updateTemplateInstance,abstractInstanceIdMap);
\r
731 when(stringValueAc2.getValue()).thenReturn("s1");
\r
732 when(stringValueAc2.getValue()).thenReturn("s1");
\r
734 when(parameterValuesAc.getIntValue()).thenReturn(intValuesAc2);
\r
735 when(parameterValuesAc.getIntValue()).thenReturn(intValuesAc2);
\r
736 when(intValueAc2.getValue()).thenReturn(1L);
\r
737 when(intValueAc2.getValue()).thenReturn(1L);
\r
739 when(parameterValuesAc.getRangeValue()).thenReturn(rangeValueAc2);
\r
740 when(parameterValuesAc.getRangeValue()).thenReturn(rangeValueAc2);
\r
741 when(rangeValueAc2.getMax()).thenReturn(2L);
\r
742 when(rangeValueAc2.getMin()).thenReturn(1L);
\r
744 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
745 when(parameterValuesAction.getIntValue()).thenReturn(intValuesAc1);
\r
746 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
747 when(parameterValuesAction.getIntValue()).thenReturn(intValuesAc1);
\r
749 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
750 when(parameterValuesAction.getRangeValue()).thenReturn(rangeValueAc1);
\r
751 when(action.getParameterValues()).thenReturn(parameterValuesAction);
\r
752 when(parameterValuesAction.getRangeValue()).thenReturn(rangeValueAc1);
\r
753 when(rangeValueAc1.getMax()).thenReturn(2L);
\r
754 when(rangeValueAc1.getMin()).thenReturn(1L);
\r
758 method.invoke(updateTemplateInstance, action,instaceParameterMap);
\r
759 //System.out.println("########### Result XXXXXXXX "+method.invoke(updateTemplateInstance, action,instaceParameterMap)+" ####");
\r