Imported Upstream version 1.0.1
[platform/upstream/iotivity.git] / service / simulator / unittests / SimulatorTest / src / org / oic / simulator / test / SimulatorManagerTest.java
1 /*
2  * Copyright 2015 Samsung Electronics All Rights Reserved.
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package org.oic.simulator.test;
18
19 import java.util.concurrent.CountDownLatch;
20 import junit.framework.TestCase;
21
22 import org.oic.simulator.PlatformInfo;
23 import org.oic.simulator.SimulatorManager;
24 import org.oic.simulator.serviceprovider.SimulatorResourceServer;
25
26 /**
27  * This class tests the functionality of Simulator Manager
28  * class APIs.
29  */
30 public class SimulatorManagerTest extends TestCase
31 {
32
33     private static final String CONFIG_PATH = "./ramls/simple-light.raml";
34     private static final String RESOURCE_TYPE = "oic.r.light";
35
36     private CountDownLatch lockObject;
37     private ResourceModelObject resourceModelObject;
38     private ResourceModelChangeListener resourceModelChangeListener;
39
40
41     static
42     {
43         System.loadLibrary("SimulatorManager");
44     }
45
46     @Override
47     protected void setUp() throws Exception
48     {
49         super.setUp();
50
51         lockObject = new CountDownLatch(1);
52     }
53
54     @Override
55     protected void tearDown() throws Exception
56     {
57         super.tearDown();
58
59         resourceModelObject = null;
60         resourceModelChangeListener = null;
61         lockObject = null;
62     }
63
64     private SimulatorResourceServer createResource()
65     {
66         resourceModelObject = new ResourceModelObject();
67         resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
68
69         SimulatorResourceServer simulatorResourceServer = null;
70         try
71         {
72             simulatorResourceServer = SimulatorManager.createResource(CONFIG_PATH, resourceModelChangeListener);
73         }
74         catch (Exception e)
75         {
76             e.printStackTrace();
77         }
78
79         return simulatorResourceServer;
80     }
81
82     private SimulatorResourceServer[] createResources(int n)
83     {
84         resourceModelObject = new ResourceModelObject();
85         resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
86
87         SimulatorResourceServer[] simulatorResourceServers = null;
88         try
89         {
90             simulatorResourceServers = SimulatorManager.createResource(CONFIG_PATH, n, resourceModelChangeListener);
91         }
92         catch (Exception e)
93         {
94             e.printStackTrace();
95         }
96
97         return simulatorResourceServers;
98     }
99
100     private void deleteResource(SimulatorResourceServer sim)
101     {
102         try
103         {
104             SimulatorManager.deleteResource(sim);
105         }
106         catch (Exception e)
107         {
108             e.printStackTrace();
109         }
110     }
111
112     public void testCreateResource_P01()
113     {
114         SimulatorResourceServer simulatorResourceServer = createResource();
115
116         assertNotNull(simulatorResourceServer);
117
118         deleteResource(simulatorResourceServer);
119     }
120
121     /**
122      * When config path is empty
123      */
124     public void testCreateResource_N01()
125     {
126         String configPath = "";
127         boolean result = false;
128
129         resourceModelObject = new ResourceModelObject();
130         resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
131
132         SimulatorResourceServer simulatorResourceServer = null;
133         try
134         {
135             simulatorResourceServer = SimulatorManager.createResource(configPath, resourceModelChangeListener);
136         }
137         catch (Exception e)
138         {
139             result = true;
140         }
141
142         assertTrue(simulatorResourceServer == null && result);
143     }
144
145     /**
146      * When listener is not set. Passed null
147      */
148     public void testCreateResource_N02()
149     {
150         boolean result = false;
151         SimulatorResourceServer simulatorResourceServer = null;
152         try
153         {
154             simulatorResourceServer = SimulatorManager.createResource(CONFIG_PATH, null);
155         }
156         catch (Exception e)
157         {
158             result = true;
159         }
160         assertTrue(simulatorResourceServer == null && result);
161     }
162
163     /**
164      * When listener and config path are set to null
165      */
166     public void testCreateResource_N03()
167     {
168         boolean result = false;
169         SimulatorResourceServer simulatorResourceServer = null;
170         try
171         {
172             simulatorResourceServer = SimulatorManager.createResource(null, null);
173         }
174         catch (Exception e)
175         {
176             result = true;
177         }
178         assertTrue(simulatorResourceServer == null && result);
179     }
180
181     public void testCreateResourceCount_P01()
182     {
183         int count = 5;
184
185         SimulatorResourceServer[] simulatorResourceServers = createResources(count);
186
187         assertTrue(simulatorResourceServers != null && simulatorResourceServers.length == 5);
188
189         for(SimulatorResourceServer srs : simulatorResourceServers)
190             deleteResource(srs);
191     }
192
193     /**
194      * When config path is empty
195      */
196     public void testCreateResourceCount_N01()
197     {
198         int count = 5;
199         String configPath = "";
200         boolean result = false;
201
202         resourceModelObject = new ResourceModelObject();
203         resourceModelChangeListener = new ResourceModelChangeListener(resourceModelObject);
204
205         SimulatorResourceServer[] simulatorResourceServers = null;
206         try
207         {
208             SimulatorManager.setDeviceInfo("test");
209             simulatorResourceServers = SimulatorManager.createResource(configPath, count, resourceModelChangeListener);
210         }
211         catch (Exception e)
212         {
213             result = true;
214         }
215
216         assertTrue(simulatorResourceServers == null && result);
217     }
218
219     /**
220      * When listener is not set
221      */
222     public void testCreateResourceCount_N02()
223     {
224         int count = 5;
225         boolean result = false;
226
227         SimulatorResourceServer[] simulatorResourceServers = null;
228         try
229         {
230             simulatorResourceServers = SimulatorManager.createResource(CONFIG_PATH, count, null);
231         }
232         catch (Exception e)
233         {
234             result = true;
235         }
236
237         assertTrue(simulatorResourceServers == null && result);
238     }
239
240     /**
241      * When configPath and listener are set to null
242      */
243     public void testCreateResourceCount_N03()
244     {
245         int count = 5;
246         boolean result = false;
247
248         SimulatorResourceServer[] simulatorResourceServers = null;
249         try
250         {
251             simulatorResourceServers = SimulatorManager.createResource(null, count, null);
252         }
253         catch (Exception e)
254         {
255             result = true;
256         }
257
258         assertTrue(simulatorResourceServers == null && result);
259     }
260
261     /**
262      * When count is set to 0
263      */
264     public void testCreateResourceCount_N04()
265     {
266         int count = 0;
267
268         SimulatorResourceServer[] simulatorResourceServers = createResources(count);
269
270         assertTrue(simulatorResourceServers == null);
271     }
272
273     /**
274      * When count is set to -ve
275      */
276
277     public void testCreateResourceCount_N05()
278     {
279         int count = -10;
280
281         SimulatorResourceServer[] simulatorResourceServers = createResources(count);
282
283         assertTrue(simulatorResourceServers == null  );
284     }
285
286     public void testDeleteResource_P01()
287     {
288         boolean result = true;
289
290         SimulatorResourceServer simRes = createResource();
291
292         try
293         {
294             SimulatorManager.deleteResource(simRes);
295         }
296         catch (Exception e)
297         {
298             result = false;
299         }
300
301         assertTrue(result);
302     }
303
304     public void testDeleteResource_P02()
305     {
306         boolean result = true;
307
308         SimulatorResourceServer[] simResoruces = createResources(4);
309
310         try
311         {
312             SimulatorManager.deleteResource(simResoruces[0]);
313         }
314         catch (Exception e)
315         {
316             result = false;
317         }
318
319         for(SimulatorResourceServer simResServer : simResoruces)
320             deleteResource(simResServer);
321
322         assertTrue(result);
323     }
324
325     public void testDeleteResources_P01()
326     {
327         boolean result = true;
328
329         createResources(4);
330
331         try
332         {
333             SimulatorManager.deleteResources(RESOURCE_TYPE);
334         }
335         catch (Exception e)
336         {
337             result = false;
338         }
339
340         assertTrue(result);
341     }
342
343     public void testFindResouce_P01()
344     {
345         boolean result = true;
346
347         SimulatorResourceServer simulatorResourceServer = createResource();
348
349         SimulatorRemoteResourceObject simulatorRemoteResource = new SimulatorRemoteResourceObject();
350
351         FindResourceListener findResourceListener = new FindResourceListener(lockObject, simulatorRemoteResource);
352
353         try
354         {
355             SimulatorManager.findResource(findResourceListener);
356         }
357         catch (Exception e)
358         {
359             result = false;
360         }
361
362         assertTrue(result);
363
364         deleteResource(simulatorResourceServer);
365     }
366
367     /**
368      * Pass null to listener
369      */
370     public void testFindResouce_N01()
371     {
372         boolean result = true;
373
374         SimulatorResourceServer simulatorResourceServer = createResource();
375
376         try
377         {
378             SimulatorManager.findResource(null);
379             result = false;
380         }
381         catch (Exception e)
382         {
383             result = true;
384         }
385
386         assertTrue(result);
387
388         deleteResource(simulatorResourceServer);
389     }
390
391     /**
392      *  checking for crash
393      */
394     public void testSetDeviceInfo_P01()
395     {
396         SimulatorManager.setDeviceInfo("test");
397     }
398
399     /**
400      *  checking for crash
401      *  Pass empty
402      */
403     public void testSetDeviceInfo_N01()
404     {
405         try
406         {
407             SimulatorManager.setDeviceInfo("");
408         }
409         catch(Exception e)
410         {
411             System.out.println("Exception hit");
412         }
413     }
414
415     /**
416     *  checking for crash
417     * pass null
418     */
419     public void testSetDeviceInfo_N02()
420     {
421         try
422         {
423             SimulatorManager.setDeviceInfo(null);
424         }
425         catch(Exception e)
426         {
427             System.out.println("Exception hit");
428         }
429     }
430
431     public void testGetDeviceInfo_N01()
432     {
433         try
434         {
435             SimulatorManager.getDeviceInfo(null);
436         }
437         catch(Exception e)
438         {
439             System.out.println(" Exception hit");
440         }
441     }
442
443     /**
444      * Checking for crash
445      */
446     public void testSetPlatformInfo_P01()
447     {
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");
460
461         SimulatorManager.setPlatformInfo(platformInfo);
462     }
463
464     /**
465      * Checking for crash
466      */
467     public void testSetPlatformInfo_N01()
468     {
469         try
470         {
471             SimulatorManager.setPlatformInfo(null);
472         }
473         catch(Exception e)
474         {
475           System.out.println("Exception Hit");
476         }
477     }
478
479     public void testGetPlatformInfo_N01()
480     {
481         try
482         {
483             SimulatorManager.getPlatformInfo(null);
484         }
485         catch (Exception e)
486         {
487             System.out.println("Exception Hit");
488         }
489     }
490 }