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.PlatformInfo;
23 import org.oic.simulator.SimulatorManager;
24 import org.oic.simulator.serviceprovider.SimulatorResourceServer;
27 * This class tests the functionality of Simulator Manager
30 public class SimulatorManagerTest extends TestCase
33 private static final String CONFIG_PATH = "./ramls/simple-light.raml";
34 private static final String RESOURCE_TYPE = "oic.r.light";
36 private CountDownLatch lockObject;
37 private ResourceModelObject resourceModelObject;
38 private ResourceModelChangeListener resourceModelChangeListener;
43 System.loadLibrary("SimulatorManager");
47 protected void setUp() throws Exception
51 lockObject = new CountDownLatch(1);
55 protected void tearDown() throws Exception
59 resourceModelObject = null;
60 resourceModelChangeListener = null;
64 private SimulatorResourceServer createResource()
66 resourceModelObject = new ResourceModelObject();
67 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
69 SimulatorResourceServer simulatorResourceServer = null;
72 simulatorResourceServer = SimulatorManager.createResource(CONFIG_PATH, resourceModelChangeListener);
79 return simulatorResourceServer;
82 private SimulatorResourceServer[] createResources(int n)
84 resourceModelObject = new ResourceModelObject();
85 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
87 SimulatorResourceServer[] simulatorResourceServers = null;
90 simulatorResourceServers = SimulatorManager.createResource(CONFIG_PATH, n, resourceModelChangeListener);
97 return simulatorResourceServers;
100 private void deleteResource(SimulatorResourceServer sim)
104 SimulatorManager.deleteResource(sim);
112 public void testCreateResource_P01()
114 SimulatorResourceServer simulatorResourceServer = createResource();
116 assertNotNull(simulatorResourceServer);
118 deleteResource(simulatorResourceServer);
122 * When config path is empty
124 public void testCreateResource_N01()
126 String configPath = "";
127 boolean result = false;
129 resourceModelObject = new ResourceModelObject();
130 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
132 SimulatorResourceServer simulatorResourceServer = null;
135 simulatorResourceServer = SimulatorManager.createResource(configPath, resourceModelChangeListener);
142 assertTrue(simulatorResourceServer == null && result);
146 * When listener is not set. Passed null
148 public void testCreateResource_N02()
150 boolean result = false;
151 SimulatorResourceServer simulatorResourceServer = null;
154 simulatorResourceServer = SimulatorManager.createResource(CONFIG_PATH, null);
160 assertTrue(simulatorResourceServer == null && result);
164 * When listener and config path are set to null
166 public void testCreateResource_N03()
168 boolean result = false;
169 SimulatorResourceServer simulatorResourceServer = null;
172 simulatorResourceServer = SimulatorManager.createResource(null, null);
178 assertTrue(simulatorResourceServer == null && result);
181 public void testCreateResourceCount_P01()
185 SimulatorResourceServer[] simulatorResourceServers = createResources(count);
187 assertTrue(simulatorResourceServers != null && simulatorResourceServers.length == 5);
189 for(SimulatorResourceServer srs : simulatorResourceServers)
194 * When config path is empty
196 public void testCreateResourceCount_N01()
199 String configPath = "";
200 boolean result = false;
202 resourceModelObject = new ResourceModelObject();
203 resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
205 SimulatorResourceServer[] simulatorResourceServers = null;
208 SimulatorManager.setDeviceInfo("test");
209 simulatorResourceServers = SimulatorManager.createResource(configPath, count, resourceModelChangeListener);
216 assertTrue(simulatorResourceServers == null && result);
220 * When listener is not set
222 public void testCreateResourceCount_N02()
225 boolean result = false;
227 SimulatorResourceServer[] simulatorResourceServers = null;
230 simulatorResourceServers = SimulatorManager.createResource(CONFIG_PATH, count, null);
237 assertTrue(simulatorResourceServers == null && result);
241 * When configPath and listener are set to null
243 public void testCreateResourceCount_N03()
246 boolean result = false;
248 SimulatorResourceServer[] simulatorResourceServers = null;
251 simulatorResourceServers = SimulatorManager.createResource(null, count, null);
258 assertTrue(simulatorResourceServers == null && result);
262 * When count is set to 0
264 public void testCreateResourceCount_N04()
268 SimulatorResourceServer[] simulatorResourceServers = createResources(count);
270 assertTrue(simulatorResourceServers == null);
274 * When count is set to -ve
277 public void testCreateResourceCount_N05()
281 SimulatorResourceServer[] simulatorResourceServers = createResources(count);
283 assertTrue(simulatorResourceServers == null );
286 public void testDeleteResource_P01()
288 boolean result = true;
290 SimulatorResourceServer simRes = createResource();
294 SimulatorManager.deleteResource(simRes);
304 public void testDeleteResource_P02()
306 boolean result = true;
308 SimulatorResourceServer[] simResoruces = createResources(4);
312 SimulatorManager.deleteResource(simResoruces[0]);
319 for(SimulatorResourceServer simResServer : simResoruces)
320 deleteResource(simResServer);
325 public void testDeleteResources_P01()
327 boolean result = true;
333 SimulatorManager.deleteResources(RESOURCE_TYPE);
343 public void testFindResouce_P01()
345 boolean result = true;
347 SimulatorResourceServer simulatorResourceServer = createResource();
349 SimulatorRemoteResourceObject simulatorRemoteResource = new SimulatorRemoteResourceObject();
351 FindResourceListener findResourceListener = new FindResourceListener(lockObject, simulatorRemoteResource);
355 SimulatorManager.findResource(findResourceListener);
364 deleteResource(simulatorResourceServer);
368 * Pass null to listener
370 public void testFindResouce_N01()
372 boolean result = true;
374 SimulatorResourceServer simulatorResourceServer = createResource();
378 SimulatorManager.findResource(null);
388 deleteResource(simulatorResourceServer);
394 public void testSetDeviceInfo_P01()
396 SimulatorManager.setDeviceInfo("test");
403 public void testSetDeviceInfo_N01()
407 SimulatorManager.setDeviceInfo("");
411 System.out.println("Exception hit");
419 public void testSetDeviceInfo_N02()
423 SimulatorManager.setDeviceInfo(null);
427 System.out.println("Exception hit");
431 public void testGetDeviceInfo_N01()
435 SimulatorManager.getDeviceInfo(null);
439 System.out.println(" Exception hit");
446 public void testSetPlatformInfo_P01()
448 PlatformInfo platformInfo = new PlatformInfo();
449 platformInfo.setDateOfManufacture("asdf");
450 platformInfo.setFirmwareVersion("asdf");
451 platformInfo.setHardwareVersion("asdf");
452 platformInfo.setManufacturerName("asdfdfg");
453 platformInfo.setManufacturerUrl("asdffdg");
454 platformInfo.setModelNumber("fddfg");
455 platformInfo.setOperationSystemVersion("sadfg");
456 platformInfo.setPlatformID("asdf");
457 platformInfo.setPlatformVersion("asdfgfdg");
458 platformInfo.setSupportUrl("adfgg");
459 platformInfo.setSystemTime("adsfgfg");
461 SimulatorManager.setPlatformInfo(platformInfo);
467 public void testSetPlatformInfo_N01()
471 SimulatorManager.setPlatformInfo(null);
475 System.out.println("Exception Hit");
479 public void testGetPlatformInfo_N01()
483 SimulatorManager.getPlatformInfo(null);
487 System.out.println("Exception Hit");