2 * Copyright 2015 Samsung Electronics All Rights Reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.oic.simulator.test;
19 import java.util.concurrent.CountDownLatch;
20 import junit.framework.TestCase;
22 import org.oic.simulator.DeviceInfo;
23 import org.oic.simulator.PlatformInfo;
24 import org.oic.simulator.SimulatorManager;
25 import org.oic.simulator.serviceprovider.SimulatorResourceServer;
28 * This class tests the functionality of Simulator Manager
31 public class SimulatorManagerTest extends TestCase
34 private static final String CONFIG_PATH = "./ramls/simple-light.raml";
35 private static final String RESOURCE_TYPE = "oic.r.light";
37 private CountDownLatch lockObject;
38 private ResourceModelObject resourceModelObject;
39 private ResourceModelChangeListener resourceModelChangeListener;
41 private DeviceInfo info;
42 private PlatformInfo platformInfo;
46 System.loadLibrary("SimulatorManager");
47 System.loadLibrary("RamlParser");
48 System.loadLibrary("oc");
49 System.loadLibrary("oc_logger");
50 System.loadLibrary("octbstack");
54 protected void setUp() throws Exception
58 lockObject = new CountDownLatch(1);
62 protected void tearDown() throws Exception
66 resourceModelObject = null;
67 resourceModelChangeListener = null;
71 private SimulatorResourceServer createResource()
73 resourceModelObject = new ResourceModelObject();
74 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
76 SimulatorResourceServer simulatorResourceServer = null;
79 simulatorResourceServer = SimulatorManager.createResource(CONFIG_PATH, resourceModelChangeListener);
86 return simulatorResourceServer;
89 private SimulatorResourceServer[] createResources(int n)
91 resourceModelObject = new ResourceModelObject();
92 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
94 SimulatorResourceServer[] simulatorResourceServers = null;
97 simulatorResourceServers = SimulatorManager.createResource(CONFIG_PATH, n, resourceModelChangeListener);
104 return simulatorResourceServers;
107 private void deleteResource(SimulatorResourceServer sim)
111 SimulatorManager.deleteResource(sim);
119 public void testCreateResource_P01()
121 SimulatorResourceServer simulatorResourceServer = createResource();
123 assertNotNull(simulatorResourceServer);
125 deleteResource(simulatorResourceServer);
129 * When config path is empty
131 public void testCreateResource_N01()
133 String configPath = "";
134 boolean result = false;
136 resourceModelObject = new ResourceModelObject();
137 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
139 SimulatorResourceServer simulatorResourceServer = null;
142 simulatorResourceServer = SimulatorManager.createResource(configPath, resourceModelChangeListener);
149 assertTrue(simulatorResourceServer == null && result);
153 * When listener is not set. Passed null
155 public void testCreateResource_N02()
157 boolean result = false;
158 SimulatorResourceServer simulatorResourceServer = null;
161 simulatorResourceServer = SimulatorManager.createResource(CONFIG_PATH, null);
167 assertTrue(simulatorResourceServer == null && result);
171 * When listener and config path are set to null
173 public void testCreateResource_N03()
175 boolean result = false;
176 SimulatorResourceServer simulatorResourceServer = null;
179 simulatorResourceServer = SimulatorManager.createResource(null, null);
185 assertTrue(simulatorResourceServer == null && result);
188 public void testCreateResourceCount_P01()
192 SimulatorResourceServer[] simulatorResourceServers = createResources(count);
194 assertTrue(simulatorResourceServers != null && simulatorResourceServers.length == 5);
196 for(SimulatorResourceServer srs : simulatorResourceServers)
201 * When config path is empty
203 public void testCreateResourceCount_N01()
206 String configPath = "";
207 boolean result = false;
209 resourceModelObject = new ResourceModelObject();
210 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
212 SimulatorResourceServer[] simulatorResourceServers = null;
215 simulatorResourceServers = SimulatorManager.createResource(configPath, count, resourceModelChangeListener);
222 assertTrue(simulatorResourceServers == null && result);
226 * When listener is not set
228 public void testCreateResourceCount_N02()
231 boolean result = false;
233 SimulatorResourceServer[] simulatorResourceServers = null;
237 simulatorResourceServers = SimulatorManager.createResource(CONFIG_PATH, count, null);
244 assertTrue(simulatorResourceServers == null && result);
248 * When configPath and listener are set to null
250 public void testCreateResourceCount_N03()
253 boolean result = false;
255 SimulatorResourceServer[] simulatorResourceServers = null;
258 simulatorResourceServers = SimulatorManager.createResource(null, count, null);
265 assertTrue(simulatorResourceServers == null && result);
269 * When count is set to 0
271 public void testCreateResourceCount_N04()
275 SimulatorResourceServer[] simulatorResourceServers = createResources(count);
277 assertTrue(simulatorResourceServers == null);
280 public void testDeleteResource_P01()
282 boolean result = true;
284 SimulatorResourceServer simRes = createResource();
288 SimulatorManager.deleteResource(simRes);
298 public void testDeleteResource_P02()
300 boolean result = true;
302 SimulatorResourceServer[] simResoruces = createResources(4);
306 SimulatorManager.deleteResource(simResoruces[0]);
313 for(SimulatorResourceServer simResServer : simResoruces)
314 deleteResource(simResServer);
319 public void testDeleteResources_P01()
321 boolean result = true;
327 SimulatorManager.deleteResources(RESOURCE_TYPE);
337 public void testFindResouce_P01()
339 boolean result = true;
341 SimulatorResourceServer simulatorResourceServer = createResource();
343 SimulatorRemoteResourceObject simulatorRemoteResource = new SimulatorRemoteResourceObject();
345 FindResourceListener findResourceListener = new FindResourceListener(lockObject, simulatorRemoteResource);
349 SimulatorManager.findResource(findResourceListener);
358 deleteResource(simulatorResourceServer);
362 * Pass null to listener
364 public void testFindResouce_N01()
366 boolean result = true;
368 SimulatorResourceServer simulatorResourceServer = createResource();
372 SimulatorManager.findResource(null);
382 deleteResource(simulatorResourceServer);
388 public void testSetDeviceInfo_P01()
390 SimulatorManager.setDeviceInfo("test");
397 public void testSetDeviceInfo_N01()
399 SimulatorManager.setDeviceInfo("");
405 public void testSetPlatformInfo_P01()
407 PlatformInfo platformInfo = new PlatformInfo();
408 platformInfo.setDateOfManufacture("asdf");
409 platformInfo.setFirmwareVersion("asdf");
410 platformInfo.setHardwareVersion("asdf");
411 platformInfo.setManufacturerName("asdfdfg");
412 platformInfo.setManufacturerUrl("asdffdg");
413 platformInfo.setModelNumber("fddfg");
414 platformInfo.setOperationSystemVersion("sadfg");
415 platformInfo.setPlatformID("asdf");
416 platformInfo.setPlatformVersion("asdfgfdg");
417 platformInfo.setSupportUrl("adfgg");
418 platformInfo.setSystemTime("adsfgfg");
420 SimulatorManager.setPlatformInfo(platformInfo);