-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuaprofiles.xml
1947 lines (1947 loc) · 287 KB
/
uaprofiles.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<UaProfiles xsi:noNamespaceSchemaLocation="uaprofiles.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ProjectInfo ProjectType="ServerProject" ProjectProfile="Standard" ScriptVersion="273" Version="1.2.336.273"/>
<Categories>
<Category description="Profiles of this category specify a security policy. The URI of such profiles has to be part of an Endpoint Description returned from the GetEndpoint service." name="Security"/>
<Category description="Profiles of this category specify a complete functional set for an OPC UA Server. The URI of such profiles has to be part of a Software Certificate returned with the CreateSession service response." name="Server"/>
<Category description="Profiles of this category specify a specific protocol mapping. The URI of such profiles has to be part of an Endpoint Description." name="Transport"/>
</Categories>
<ConformanceGroups>
<ConformanceGroup description="Defines ConformanceUnits for various features of the OPC UA AddressSpace." name="Address Space Model">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support ComplexData with Data Dictionary." name="Address Space Complex Datatypes" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space Complex Datatypes/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space Complex Datatypes/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support Method Nodes." name="Address Space Method" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space Method/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space Method/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the NodeClasses with their Attributes and behaviour as defined in OPC UA Part 3. This includes for instance: Object, Object Type, Variable, Variable Type, References and Data Type" name="Address Space Base" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space Base/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Walks through the address space checking each Node contains the mandatory attributes, references and properties. Number of nodes checked is defined by a constant at the top of the script." name="001.js" filename="Address Space Model/Address Space Base/Test Cases/001.js" checkedState="0"/>
<TestCase description="Root node has Objects, Types, and Views" name="002.js" filename="Address Space Model/Address Space Base/Test Cases/002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space Base/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Supports WriteMask indicating the write access availability for all attributes, including not supported attributes." name="Address Space WriteMask" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space WriteMask/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Write: Write to all writable attributes of a Node, using the writeMask as a guideline. [WriteAccessMask enum currently not match Part 3 Table 3 Definition]" name="004.js" filename="Address Space Model/Address Space WriteMask/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write: Multiple valid attributes and 1 invalid attribute." name="Err-001.js" filename="Address Space Model/Address Space WriteMask/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: Write to Value and Display name for valid, unknown, and invalid nodeIds." name="Err-002.js" filename="Address Space Model/Address Space WriteMask/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Write: to Value and DisplayName, all NodeIds have invalid syntax." name="Err-003.js" filename="Address Space Model/Address Space WriteMask/Test Cases/Err-003.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space WriteMask/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Supports UserWriteMask indicating the write access availability for all attributes for the given user, including not supported attributes. This includes supporting multiple levels of access control for all nodes in the system." name="Address Space UserWriteMask Multilevel" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space UserWriteMask Multilevel/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space UserWriteMask Multilevel/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Implements User Level access masks for base nodes, this include at least two user access masks. " name="Address Space User Level Security Base" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space User Level Security Base/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space User Level Security Base/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Supports UserWriteMask indicating the write access availability for all attributes for the given user, including not supported attributes. Support includes at least two levels of users." name="Address Space UserWriteAccess" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Address Space UserWriteAccess/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Write: Write to a node where UserAccessLevel = CurrentWrite." name="004.js" filename="Address Space Model/Address Space UserWriteAccess/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write: to read-only node, based on (optional) WriteMask attribute." name="Err-001.js" filename="Address Space Model/Address Space UserWriteAccess/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: to all attributes EXCEPT 'Value'; request valid encoding." name="Err-002.js" filename="Address Space Model/Address Space UserWriteAccess/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Write: to a node whose UserAccessLevel != Write. Expects Bad_NotWritable." name="Err-004.js" filename="Address Space Model/Address Space UserWriteAccess/Test Cases/Err-004.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Address Space UserWriteAccess/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports obtaining substription information via getMonitoredItems Method on the Server object." name="Base Info GetMonitoredItems Method" used="true">
<InitTestCase description="" name="initialize.js" filename="Address Space Model/Base Info GetMonitoredItems Method/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Address Space Model/Base Info GetMonitoredItems Method/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Includes ConformanceUnits to Read or Write current or historical Attribute values." name="Attribute Services">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support the Read Service to read one or more Attributes of one or more Nodes. This includes support of the IndexRange parameter to read a single element or a range of elements when the Attribute value is an array" name="Attribute Read" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Read/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Read: VALUE attribute of a single node." name="001.js" filename="Attribute Services/Attribute Read/Test Cases/001.js" checkedState="0"/>
<TestCase description="Read: Multiple attributes from a single node, in a single call." name="002.js" filename="Attribute Services/Attribute Read/Test Cases/002.js" checkedState="0"/>
<TestCase description="Read all available attributes from a single (valid) node, in a single call." name="003.js" filename="Attribute Services/Attribute Read/Test Cases/003.js" checkedState="0"/>
<TestCase description="Read multiple attributes from a valid node with maxAge = 0." name="004.js" filename="Attribute Services/Attribute Read/Test Cases/004.js" checkedState="0"/>
<TestCase description="Read a data value with TimestampsToReturn = BOTH" name="006.js" filename="Attribute Services/Attribute Read/Test Cases/006.js" checkedState="0"/>
<TestCase description="Read a data value with timestampsToReturn = SOURCE. Lab: verify the source timestamp is returned." name="007.js" filename="Attribute Services/Attribute Read/Test Cases/007.js" checkedState="0"/>
<TestCase description="Read a data value with timestampsToReturn = SERVER. Lab: verify the Server’s timestamp is returned." name="008.js" filename="Attribute Services/Attribute Read/Test Cases/008.js" checkedState="0"/>
<TestCase description="Read a data value with timestampsToReturn = NEITHER" name="009.js" filename="Attribute Services/Attribute Read/Test Cases/009.js" checkedState="0"/>
<TestCase description="Read: BrowseName attribute from a valid node.	" name="010.js" filename="Attribute Services/Attribute Read/Test Cases/010.js" checkedState="0"/>
<TestCase description="Read: BrowseName attribute from multiple valid nodes." name="011.js" filename="Attribute Services/Attribute Read/Test Cases/011.js" checkedState="0"/>
<TestCase description="Read all available attributes from multiple valid nodes of each different node type, in a single call." name="012.js" filename="Attribute Services/Attribute Read/Test Cases/012.js" checkedState="0"/>
<TestCase description="Read: Same attribute from same node multiple times." name="013.js" filename="Attribute Services/Attribute Read/Test Cases/013.js" checkedState="0"/>
<TestCase description="Read: Data-type reads." name="014.js" filename="Attribute Services/Attribute Read/Test Cases/014.js" checkedState="0"/>
<TestCase description="Read: MaxAge > Int32" name="016.js" filename="Attribute Services/Attribute Read/Test Cases/016.js" checkedState="0"/>
<TestCase description="Read: Read a single attribute that is not 'Value'. Cycle through AccessLevel, BrowseName, DataType, DisplayName, Historizing, NodeClass, NodeId, UserAccessLevel, ValueRank INDIVIDUALLY." name="017.js" filename="Attribute Services/Attribute Read/Test Cases/017.js" checkedState="0"/>
<TestCase description="Read: Read ServerStatus.State and verify == RUNNING_0." name="018.js" filename="Attribute Services/Attribute Read/Test Cases/018.js" checkedState="0"/>
<TestCase description="Read: Arrays of each data type (basic types)" name="022.js" filename="Attribute Services/Attribute Read/Test Cases/022.js" checkedState="0"/>
<TestCase description="Read: Arrays of each data-type to be read from multiple Nodes in a single call." name="023.js" filename="Attribute Services/Attribute Read/Test Cases/023.js" checkedState="0"/>
<TestCase description="Read: Arrays, read one node of each data type specifying an IndexRange retrieving 2nd element only." name="024.js" filename="Attribute Services/Attribute Read/Test Cases/024.js" checkedState="0"/>
<TestCase description="Read: Arrays of various data types from multiple Nodes (in a single call) using IndexRange 2-4." name="025.js" filename="Attribute Services/Attribute Read/Test Cases/025.js" checkedState="0"/>
<TestCase description="Read: Arrays of various data types from multiple Nodes (in a single call) using IndexRange 'last 3 items'." name="026.js" filename="Attribute Services/Attribute Read/Test Cases/026.js" checkedState="0"/>
<TestCase description="Read: The EventNotifier attribute. Expects Good orBad_AttributeIdInvalid." name="027.js" filename="Attribute Services/Attribute Read/Test Cases/027.js" checkedState="0"/>
<TestCase description="Read attributes (not Value); sourceTimestamp=null; serverTimestamp is valid." name="028.js" filename="Attribute Services/Attribute Read/Test Cases/028.js" checkedState="0"/>
<TestCase description="Read: Invalid (non-existent) attribute on a valid node. (Invalid attribute just happens to be "executable" in this case)" name="Err-001.js" filename="Attribute Services/Attribute Read/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Read: Multiple valid attributes and one invalid attribute, from a single valid node." name="Err-002.js" filename="Attribute Services/Attribute Read/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Read: Invalid attribute from a valid node, multiple times in the same service call." name="Err-003.js" filename="Attribute Services/Attribute Read/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="Read: Valid attribute from an invaild (non existent) node." name="Err-004.js" filename="Attribute Services/Attribute Read/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="Read: Valid attribute from a node id with invalid syntax: String Id: Empty/null" name="Err-005.js" filename="Attribute Services/Attribute Read/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="Read: Valid attribute from a node id with invalid syntax: Byte Id: Empty/null" name="Err-006.js" filename="Attribute Services/Attribute Read/Test Cases/Err-006.js" checkedState="0"/>
<TestCase description="Read: Valid attributes (ids: 1, 3, 4, 5) from a set of nodes containing valid nodes, non-existent nodes, and nodes with invalid node id syntaxes" name="Err-008.js" filename="Attribute Services/Attribute Read/Test Cases/Err-008.js" checkedState="0"/>
<TestCase description="Read: Valid attributes (ids: 1, 3, 4, 5) from multiple non-existent nodes" name="Err-009.js" filename="Attribute Services/Attribute Read/Test Cases/Err-009.js" checkedState="0"/>
<TestCase description="Read: Valid attributes (ids: 1, 3, 4, 5) from multiple nodes with invalid node id syntaxes" name="Err-010.js" filename="Attribute Services/Attribute Read/Test Cases/Err-010.js" checkedState="0"/>
<TestCase description="Read: NodesToRead array is empty." name="Err-011.js" filename="Attribute Services/Attribute Read/Test Cases/Err-011.js" checkedState="0"/>
<TestCase description="Read: IndexRange is out of bounds of the what the array supports. Each core data-type is tested. Expect "Bad_IndexRangeNoData." name="Err-012.js" filename="Attribute Services/Attribute Read/Test Cases/Err-012.js" checkedState="0"/>
<TestCase description="Read: IndexRange invalid syntax (negative number), for each data type. Expected operation result is Bad_IndexRangeInvalid." name="Err-013.js" filename="Attribute Services/Attribute Read/Test Cases/Err-013.js" checkedState="0"/>
<TestCase description="Read: Negative MaxAge parameter. Returns Bad_MaxAgeInvalid." name="Err-014.js" filename="Attribute Services/Attribute Read/Test Cases/Err-014.js" checkedState="0"/>
<TestCase description="Read: IndexRange used for not-applicable Attributes. Expect OperationLevel=Bad_IndexRangeNoData." name="Err-015.js" filename="Attribute Services/Attribute Read/Test Cases/Err-015.js" checkedState="0"/>
<TestCase description="Read: a node that is write-only (and not readable)" name="Err-016.js" filename="Attribute Services/Attribute Read/Test Cases/Err-016.js" checkedState="0"/>
<TestCase description="Read: all attributes (excep Value) requesting a DataEncoding." name="Err-017.js" filename="Attribute Services/Attribute Read/Test Cases/Err-017.js" checkedState="0"/>
<TestCase description="Read: Specify an invalid TimestampsToRead value. Expects Bad_TimestampsToReturnInvalid." name="Err-019.js" filename="Attribute Services/Attribute Read/Test Cases/Err-019.js" checkedState="0"/>
<TestCase description="Read: IndexRange invalid syntax, for each data type. Expected operation result is Bad_IndexRangeInvalid." name="Err-022.js" filename="Attribute Services/Attribute Read/Test Cases/Err-022.js" checkedState="0"/>
<TestCase description="Read: IndexRange invalid syntax (both digits are same), for each data type. Expected operation result is Bad_IndexRangeInvalid." name="Err-023.js" filename="Attribute Services/Attribute Read/Test Cases/Err-023.js" checkedState="0"/>
<TestCase description="Read: IndexRange invalid (text is backwards) for each data-type." name="Err-024.js" filename="Attribute Services/Attribute Read/Test Cases/Err-024.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Read/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the IndexRange to write a single element or a range of elements when the Attribute value is an array." name="Attribute Write Index" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Write Index/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Write: IndexRange="1" for each core data-type." name="001.js" filename="Attribute Services/Attribute Write Index/Test Cases/001.js" checkedState="0"/>
<TestCase description="Write: IndexRange="1:2" for each core datatype as Array." name="002.js" filename="Attribute Services/Attribute Write Index/Test Cases/002.js" checkedState="0"/>
<TestCase description="Write: IndexRange="0:2" to write to first 3 elements of an array, for each data type." name="003.js" filename="Attribute Services/Attribute Write Index/Test Cases/003.js" checkedState="0"/>
<TestCase description="Write: IndexRange equates to last 3 items of an array." name="004.js" filename="Attribute Services/Attribute Write Index/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write: Array write the complete array, for each data-type." name="005.js" filename="Attribute Services/Attribute Write Index/Test Cases/005.js" checkedState="0"/>
<TestCase description="" name="006.js" filename="Attribute Services/Attribute Write Index/Test Cases/006.js" checkedState="0"/>
<TestCase description="Write: IndexRange is out of bounds, Int32 / 2." name="Err-001.js" filename="Attribute Services/Attribute Write Index/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: IndexRange is invalid (7:2) for a Node of each data type." name="Err-002.js" filename="Attribute Services/Attribute Write Index/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Write: IndexRange syntax invalid. Used for each data-type Node." name="Err-003.js" filename="Attribute Services/Attribute Write Index/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="Write: IndexRange invalid syntax, where range is not actually specified as a range." name="Err-004.js" filename="Attribute Services/Attribute Write Index/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="Write: IndexRange invalid using negative numbers. Do this for each data-type." name="Err-005.js" filename="Attribute Services/Attribute Write Index/Test Cases/Err-005.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Write Index/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support writing of StatusCode and Timestamps." name="Attribute Write StatusCode & TimeStamp" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Write: Write a VQT, include VQ." name="001.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/001.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include VQT (source)." name="002.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/002.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include VQT (both)." name="003.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/003.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include VT (source) only." name="004.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include V only." name="005.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/005.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include VT (both) only." name="006.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/006.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include VQT (source) only." name="007.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/007.js" checkedState="0"/>
<TestCase description="Write: Write a VQT, include VT (server) only." name="008.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/008.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Write StatusCode to Value (but not value) and call Publish." name="009.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/009.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DataChangeFilter of VQT." name="010.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/010.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Write VQT." name="011.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/011.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Write StatusCode & TimeStamp/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support alternate Data Encoding when reading value Attributes.
By default, every Server has to support the Data Encoding of the currently used Stack Profile (i.e. binary with UA Binary Encoding and XML with XML Encoding). This ConformanceUnit - when supp" name="Attribute Alternate Encoding" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Read: Request "default binary" encoding." name="001.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/001.js" checkedState="0"/>
<TestCase description="Read: Request DataEncoding of Xml." name="002.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/002.js" checkedState="0"/>
<TestCase description="Read: Request unknown encoding for a node." name="Err-001.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Read: Request encoding for non-Value attribute of a variable." name="Err-003.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Request unsupported DataEncoding, e.g. "modbus"." name="Err-004.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DataEncoding namespace does not exist." name="Err-005.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Request encoding for non-Value attribute." name="Err-006.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/Err-006.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Alternate Encoding/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support reading and encoding ComplexData (structures)." name="Attribute Read Complex" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Read Complex/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Read Complex/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the Write Service to write values to one or more Attributes of one or more Nodes." name="Attribute Write Values" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Write Values/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Write: Valid attribute of a valid Node. No Quality or Timestamps specified." name="001.js" filename="Attribute Services/Attribute Write Values/Test Cases/001.js" checkedState="0"/>
<TestCase description="Write: Value attribute, multiple nodes." name="002.js" filename="Attribute Services/Attribute Write Values/Test Cases/002.js" checkedState="0"/>
<TestCase description="Write: Write to a single node multiple times in the same call." name="003.js" filename="Attribute Services/Attribute Write Values/Test Cases/003.js" checkedState="0"/>
<TestCase description="Write: AccessLevel = CurrentWrite. Expects "Good"." name="004.js" filename="Attribute Services/Attribute Write Values/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write: Write the minimum value for each supported Data Type." name="005.js" filename="Attribute Services/Attribute Write Values/Test Cases/005.js" checkedState="0"/>
<TestCase description="Write: Max value of each supported data type." name="006.js" filename="Attribute Services/Attribute Write Values/Test Cases/006.js" checkedState="0"/>
<TestCase description="Write: ByteString to a Byte[]. Expects success." name="007.js" filename="Attribute Services/Attribute Write Values/Test Cases/007.js" checkedState="0"/>
<TestCase description="Write: LocalizedText; write to all, some, and no parameters of this structure type." name="009.js" filename="Attribute Services/Attribute Write Values/Test Cases/009.js" checkedState="0"/>
<TestCase description="Write: Write values that are the 'subtype' of a Integer." name="010.js" filename="Attribute Services/Attribute Write Values/Test Cases/010.js" checkedState="0"/>
<TestCase description="Write: Write values that are the 'subtype' of a UInteger." name="011.js" filename="Attribute Services/Attribute Write Values/Test Cases/011.js" checkedState="0"/>
<TestCase description="" name="012.js" filename="Attribute Services/Attribute Write Values/Test Cases/012.js" checkedState="0"/>
<TestCase description="Write: Empty nodesToWrite array." name="Err-001.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: Write to a valid attribute of an invalid Node." name="Err-002.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Write: Write to a valid node for a Node using an invalid syntax." name="Err-003.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="Write: to Value and DisplayName attributes, on multiple invalid Nodes." name="Err-004.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="Write: Invalid attribute." name="Err-005.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="Write: Invalid attribute to a valid node, multiple times in the same call." name="Err-006.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-006.js" checkedState="0"/>
<TestCase description="Write: to a node whose AccessLevel is Read Only. Expect Bad_NotWritable." name="Err-007.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-007.js" checkedState="0"/>
<TestCase description="Write: Write a value using the wrong data-type." name="Err-008.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-008.js" checkedState="0"/>
<TestCase description="Write: Write a <null> to each data-type." name="Err-009.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-009.js" checkedState="0"/>
<TestCase description="Write: UInteger type receives values of incorrect sub-type." name="Err-010.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-010.js" checkedState="0"/>
<TestCase description="Write: Integer receives values of incorrect sub-type." name="Err-011.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-011.js" checkedState="0"/>
<TestCase description="Write: Integer receives value of incorrect sub-type." name="Err-012.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-012.js" checkedState="0"/>
<TestCase description="Write: LocalizedText with non-existent Locale." name="Err-015.js" filename="Attribute Services/Attribute Write Values/Test Cases/Err-015.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Write Values/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support writing and decoding ComplexData." name="Attribute Write Complex" used="true">
<InitTestCase description="" name="initialize.js" filename="Attribute Services/Attribute Write Complex/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Attribute Services/Attribute Write Complex/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="User level security includes support for security audit trails, with traceability between Client and Server audit logs." name="Auditing">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support AuditEvents. The list of supported AuditEvents shall be verified during certification testing and will be shown in the Certificate." name="Auditing Base" used="true">
<InitTestCase description="" name="initialize.js" filename="Auditing/Auditing Base/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Auditing/Auditing Base/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Base Information. (optional)" name="Base Information">
<ConformanceUnits>
<ConformanceUnit category="Server" description="The Server supports the Server Object, ServerCapabilities and supports the OPC UA AddressSpace structure." name="Base Info Core Structure" used="true">
<InitTestCase description="The Server supports defining user defined ObjectTypes, VariableTypes, ReferenceType and Datatypes. " name="initialize.js" filename="Base Information/Base Info Core Structure/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Server node." name="001.js" filename="Base Information/Base Info Core Structure/Test Cases/001.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Core Structure/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports defining user defined ObjectTypes, VariableTypes, ReferenceType and Datatypes. Supporting this conformance unit does not require that a Server exposes the OPC UA Object, Variable, Reference, or Data Types, unless the Server implements User types. If User types are defined than the full type-hierarchy has to be exposed as well." name="Base Info Custom Type System" used="true">
<InitTestCase description="The Server supports defining user defined ObjectTypes, VariableTypes, ReferenceType and Datatypes. " name="initialize.js" filename="Base Information/Base Info Custom Type System/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Custom Type System/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports Diagnostic Objects and Variables." name="Base Info Diagnostics" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Diagnostics/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Read ServerDiagnostics BrowseName" name="001.js" filename="Base Information/Base Info Diagnostics/Test Cases/001.js" checkedState="0"/>
<TestCase description="Check CurrentSessionCount and CumulatedSessionCount" name="003.js" filename="Base Information/Base Info Diagnostics/Test Cases/003.js" checkedState="0"/>
<TestCase description="Check SamplingIntervalDiagnosticsArray" name="004.js" filename="Base Information/Base Info Diagnostics/Test Cases/004.js" checkedState="0"/>
<TestCase description="Check SubscriptionDiagnosticsArray" name="005.js" filename="Base Information/Base Info Diagnostics/Test Cases/005.js" checkedState="0"/>
<TestCase description="Check SubscriptionDiagnosticsArray in real time" name="006-010.js" filename="Base Information/Base Info Diagnostics/Test Cases/006-010.js" checkedState="0"/>
<TestCase description="Verify ModifyCount subscription diagnostic." name="011.js" filename="Base Information/Base Info Diagnostics/Test Cases/011.js" checkedState="0"/>
<TestCase description="Check RepublishMessageCount subscription diagnostic" name="012.js" filename="Base Information/Base Info Diagnostics/Test Cases/012.js" checkedState="0"/>
<TestCase description="Check PublishRequestCount and DataChangeNotificationsCount subscription diagnostics" name="013.js" filename="Base Information/Base Info Diagnostics/Test Cases/013.js" checkedState="0"/>
<TestCase description="Check DisabledMonitoredItemCount diagnostics property" name="014.js" filename="Base Information/Base Info Diagnostics/Test Cases/014.js" checkedState="0"/>
<TestCase description="Check MonitoringQueueOverflowCount subscription diagnostic" name="015.js" filename="Base Information/Base Info Diagnostics/Test Cases/015.js" checkedState="0"/>
<TestCase description="Check Current/CumulatedSubscriptionCount" name="016.js" filename="Base Information/Base Info Diagnostics/Test Cases/016.js" checkedState="0"/>
<TestCase description="Repeat Current/CumulatedSubscriptionCount" name="017.js" filename="Base Information/Base Info Diagnostics/Test Cases/017.js" checkedState="0"/>
<TestCase description="Check ServerDiagnotics.EnabledFlag." name="018.js" filename="Base Information/Base Info Diagnostics/Test Cases/018.js" checkedState="0"/>
<TestCase description="Test sessions are added SessionsDiagnosticsSummary" name="019.js" filename="Base Information/Base Info Diagnostics/Test Cases/019.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Diagnostics/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports the EventQueueOverflowEventType as defined in Part 4." name="Base Info EventQueueOverflowEventType" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info EventQueueOverflowEventType/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info EventQueueOverflowEventType/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports ModelChange Event and NodeVersion Property for all Nodes that the server allows Model changes for." name="Base Info Model Change" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Model Change/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Model Change/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server exposes if generation of Progress events for long running service calls such as HistoricalRead or Query is supported. If it is listed as supported in ServerCapabilities, than the actual events are verified." name="Base Info Progress Events" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Progress Events/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Progress Events/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports PropertyChangeEvent for some Properties" name="Base Info Property Change" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Property Change/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Property Change/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports defining custom Object or Variables that include the use of OptionalPlaceholder or MandatoryPlaceholder modelling rules." name="Base Info Placeholder Modelling Rules" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Placeholder Modelling Rules/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Placeholder Modelling Rules/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports the VariableType OptionSet." name="Base Info OptionSet" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info OptionSet/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info OptionSet/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports the VariableType OptionSet." name="Base Info ValueAsText" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info ValueAsText/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Check ValueAsText property on ALL configured nodes" name="001.js" filename="Base Information/Base Info ValueAsText/Test Cases/001.js" checkedState="0"/>
<TestCase description="Subscribe to ValueAsText property while changing values" name="002.js" filename="Base Information/Base Info ValueAsText/Test Cases/002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info ValueAsText/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports publishing of the Server limitation in the ServerCapabilities, including MaxArrayLength, MaxStringLength, MaxNodePerRead, MaxNodesPerWrite, MaxNodesPerSubscription and MaxNodesPerBrowse." name="Base Info Server Capabilities" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Server Capabilities/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Server Capabilities/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports generating SystemStatusChangeEventType indicating shutdown of the Server (SourceNode=Server)." name="Base Info System Status" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info System Status/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info System Status/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports generating SystemStatusChangeEventType indicating changes to an underlying system (SourceNode=Server). This event can also be used to indicate that the OPC UA Server has underlying systems" name="Base Info System Status underlying system" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info System Status underlying system/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info System Status underlying system/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server exposes a Type System with DataTypes, ReferenceTypes, ObjectTypes and VariableTypes including all of the OPC Foundation provided (namespace 0) types that are used by the Server,as defined in Part 5. Items that are defined in NameSpace 0 but are defined in other specification parts are tested as part of the other information models." name="Base Info Type System" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Type System/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Level 1 folders exist" name="001.js" filename="Base Information/Base Info Type System/Test Cases/001.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 3 (Address space)" name="003.js" filename="Base Information/Base Info Type System/Test Cases/003.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 4 (Services)" name="004.js" filename="Base Information/Base Info Type System/Test Cases/004.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 5 (Information Model)" name="005.js" filename="Base Information/Base Info Type System/Test Cases/005.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 8 (Data Access)" name="008.js" filename="Base Information/Base Info Type System/Test Cases/008.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 9 (Alarms and Conditions)" name="009.js" filename="Base Information/Base Info Type System/Test Cases/009.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 10 (Programs)" name="010.js" filename="Base Information/Base Info Type System/Test Cases/010.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 11 (History)" name="011.js" filename="Base Information/Base Info Type System/Test Cases/011.js" checkedState="0"/>
<TestCase description="Type definitions for UA Part 13 (Aggregates)" name="013.js" filename="Base Information/Base Info Type System/Test Cases/013.js" checkedState="0"/>
<TestCase description="Walks through the DataTypes folder, in the TypeSystem, verifying compliance to UA Parts 3 and 5." name="DataTypesValidation.js" filename="Base Information/Base Info Type System/Test Cases/DataTypesValidation.js" checkedState="0"/>
<TestCase description="Walks through the EventTypes folder, in the TypeSystem, verifying compliance to UA Parts 3 and 5." name="EventTypesValidation.js" filename="Base Information/Base Info Type System/Test Cases/EventTypesValidation.js" checkedState="0"/>
<TestCase description="Walks through the ObjectTypes folder, in the TypeSystem, verifying compliance to UA Parts 3 and 5." name="ObjectTypesValidation.js" filename="Base Information/Base Info Type System/Test Cases/ObjectTypesValidation.js" checkedState="0"/>
<TestCase description="Walks through the ReferenceTypes folder, in the TypeSystem, verifying compliance to UA Parts 3 and 5." name="ReferenceTypesValidation.js" filename="Base Information/Base Info Type System/Test Cases/ReferenceTypesValidation.js" checkedState="0"/>
<TestCase description="Walks through the VariableTypes folder, in the TypeSystem, verifying compliance to UA Parts 3 and 5." name="VariableTypesValidation.js" filename="Base Information/Base Info Type System/Test Cases/VariableTypesValidation.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Type System/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Server supports defining Variables that include the Engineering Units Property. This property makes use of the EUInformation data structure. This structure by default represents the UN/CEFACT 'Codes for Units of Measurement'. If a different EU representation is required then the EUInformation.namespaceUri will indicate the alternate namespace." name="Base Info Engineering Units" used="true">
<InitTestCase description="" name="initialize.js" filename="Base Information/Base Info Engineering Units/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Base Information/Base Info Engineering Units/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="ConformanceUnits specific to Clients and Servers that deal with the representation and use of automation data as specified in Part 8 of the OPC UA specification." name="Data Access">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support AnalogItemType Variables with corresponding Properties." name="Data Access AnalogItemType" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access Analog/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Type is defined in the address-space." name="000.js" filename="Data Access/Data Access Analog/Test Cases/000.js" checkedState="0"/>
<TestCase description="Read: Value attribute of an analog node of each of the following data type: Double, Float, Int16, UInt16, Int32, UInt32, Int64, UInt64. Perform each read separately." name="001.js" filename="Data Access/Data Access Analog/Test Cases/001.js" checkedState="0"/>
<TestCase description="Read: Value attribute of an analog node of each of the following data type: Double, Float, Int16, UInt16, Int32, UInt32, Int64, UInt64. Perform the reads in a single call." name="002.js" filename="Data Access/Data Access Analog/Test Cases/002.js" checkedState="0"/>
<TestCase description="Read: EURange property of an analog node." name="003.js" filename="Data Access/Data Access Analog/Test Cases/003.js" checkedState="0"/>
<TestCase description="Read: EURange property of multiple analog nodes." name="004.js" filename="Data Access/Data Access Analog/Test Cases/004.js" checkedState="0"/>
<TestCase description="Read: EURange property of an analog node. If the EURange exists, write values exceeding the lower bound and upper boound (i.e. lowerbound - 1/upperbound + 1 respectively)" name="005.js" filename="Data Access/Data Access Analog/Test Cases/005.js" checkedState="0"/>
<TestCase description="Write: The following 3 values to an analog node (test each supported type): EURange.Low, EURange.High, and a number in the middle of the EURange." name="006.js" filename="Data Access/Data Access Analog/Test Cases/006.js" checkedState="0"/>
<TestCase description="Write: No InstrumentRange; Write() the max value of datatype, min value of datatype, a value in the middle of the datatype range." name="007.js" filename="Data Access/Data Access Analog/Test Cases/007.js" checkedState="0"/>
<TestCase description="DeadbandAbsolute of 10." name="008.js" filename="Data Access/Data Access Analog/Test Cases/008.js" checkedState="0"/>
<TestCase description="Write: To the EURange attribute." name="009.js" filename="Data Access/Data Access Analog/Test Cases/009.js" checkedState="0"/>
<TestCase description="Subscribe: Add monitored items of analog type (each supported datatype) to an enabled subscription. Wait for a publishing intervl and call publish to verify the values received match the expected datatype of each node." name="010.js" filename="Data Access/Data Access Analog/Test Cases/010.js" checkedState="0"/>
<TestCase description="Subscribe: Add monitored items of analog type (each supported datatype) to an enabled subscription. Wait for a publishing interval and call publish to verify the values received match the expected datatype of each node." name="011.js" filename="Data Access/Data Access Analog/Test Cases/011.js" checkedState="0"/>
<TestCase description="Subscribe: Add monitored item (configured with an EURange and a PercentDeadband filter value of 10) for each supported data-type to an enabled subscription. Call publish. Perform two writes to each item: 1) Will pass the deadband, 2) Will not pass the deadband. Call publish after each write." name="012.js" filename="Data Access/Data Access Analog/Test Cases/012.js" checkedState="0"/>
<TestCase description="Analog Types: Should operate with TranslateBrowsePathsToNodeIds." name="013.js" filename="Data Access/Data Access Analog/Test Cases/013.js" checkedState="0"/>
<TestCase description="Analog Types: Should operate with TranslateBrowsePathsToNodeIds (multiple Analog nodes)." name="014.js" filename="Data Access/Data Access Analog/Test Cases/014.js" checkedState="0"/>
<TestCase description="Browse: The available forward-references of an analog node." name="015.js" filename="Data Access/Data Access Analog/Test Cases/015.js" checkedState="0"/>
<TestCase description="Browse: The available inverse-references of an analog node." name="016.js" filename="Data Access/Data Access Analog/Test Cases/016.js" checkedState="0"/>
<TestCase description="Browse: The available references (both directions) of an analog node." name="017.js" filename="Data Access/Data Access Analog/Test Cases/017.js" checkedState="0"/>
<TestCase description="Write to EngineeringUnits" name="018.js" filename="Data Access/Data Access Analog/Test Cases/018.js" checkedState="0"/>
<TestCase description="Write a value equal to EURange.Low and then EURange.High." name="019.js" filename="Data Access/Data Access Analog/Test Cases/019.js" checkedState="0"/>
<TestCase description="Write a value exceeding the InstrumentRange." name="020.js" filename="Data Access/Data Access Analog/Test Cases/020.js" checkedState="0"/>
<TestCase description="TranslateBrowsePathToNodeIds requests InstrumentRange, EURange, and EngineeringUnits for all AnalogItems." name="021.js" filename="Data Access/Data Access Analog/Test Cases/021.js" checkedState="0"/>
<TestCase description="Write NaN to all floats" name="022.js" filename="Data Access/Data Access AnalogItemType/Test Cases/022.js" checkedState="0"/>
<TestCase description="Write NaN, call Publish; do this twice and get DataChange twice." name="023.js" filename="Data Access/Data Access AnalogItemType/Test Cases/023.js" checkedState="0"/>
<TestCase description="Write: A complex structure (incorrect type) to an analog item." name="Err-001.js" filename="Data Access/Data Access Analog/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: To the EngineeringUnits attribute on a node where the property exists." name="Err-002.js" filename="Data Access/Data Access Analog/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Write: To the InstrumentRange attribute on a node where the property exists." name="Err-003.js" filename="Data Access/Data Access Analog/Test Cases/Err-003.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access Analog/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Provide Variables of DataItemType or one of its subtypes. Support the StatusCodes specified in the DataAccess part of the OPC UA specification. Support of optional Properties (e.g. "InstrumentRange") shall be verified during certification testing and will" name="Data Access DataItems" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access DataItems/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Type is defined in the address-space." name="000.js" filename="Data Access/Data Access DataItems/Test Cases/000.js" checkedState="0"/>
<TestCase description="DataItems: Should operate with TranslateBrowsePathsToNodeIds." name="001.js" filename="Data Access/Data Access DataItems/Test Cases/001.js" checkedState="0"/>
<TestCase description="DataItems: Should operate with TranslateBrowsePathsToNodeIds (multiple DataItem nodes)." name="002.js" filename="Data Access/Data Access DataItems/Test Cases/002.js" checkedState="0"/>
<TestCase description="Read: Value attribute of data item nodes of each of the following data type: Byte, Double, Float, GUID, Int16, UInt16, Int32, UInt32, Int64, UInt64, SByte, String. " name="003.js" filename="Data Access/Data Access DataItems/Test Cases/003.js" checkedState="0"/>
<TestCase description="Write: The following 3 values to a dataitem node of each supported type: Min of datatype, Max of datatype, and a number in the middle of the datatype range." name="004.js" filename="Data Access/Data Access DataItems/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write: To multiple dataitem nodes (of all supported datatypes) in a single call max value of the corresponding datatype." name="005.js" filename="Data Access/Data Access DataItems/Test Cases/005.js" checkedState="0"/>
<TestCase description="Write: To "Definition" property of a DataItem. Acquire the handle to the "Definition" nodeId using the TranslateBrowsePathsToNodeIds service." name="006.js" filename="Data Access/Data Access DataItems/Test Cases/006.js" checkedState="0"/>
<TestCase description="Write: To "ValuePrecision" property of a DataItem. Acquire the handle to the "ValuePrecision" nodeId using the TranslateBrowsePathsToNodeIds service." name="007.js" filename="Data Access/Data Access DataItems/Test Cases/007.js" checkedState="0"/>
<TestCase description="Write: To a dataitem node that has property “ValuePrecision”. Read back the value to determine that either the values are same or else differ within the range specified by the precision." name="008.js" filename="Data Access/Data Access DataItems/Test Cases/008.js" checkedState="0"/>
<TestCase description="Write: To a dataitem node that has property “ValuePrecision” a whole number integer (e.g. 1.0). Read back the value to determine that either the values are same or else differ within the range specified by the precision." name="009.js" filename="Data Access/Data Access DataItems/Test Cases/009.js" checkedState="0"/>
<TestCase description="Write: A value to a dataitem node (of type Float/Double) that matches its ValuePrecision. " name="010.js" filename="Data Access/Data Access DataItems/Test Cases/010.js" checkedState="0"/>
<TestCase description="Write: A value to a dataitem node (of type Float/Double) that exceeds its ValuePrecision. " name="011.js" filename="Data Access/Data Access DataItems/Test Cases/011.js" checkedState="0"/>
<TestCase description="Write: The current system time to a DataItem node (of type 'DateTime') that supports the ValuePrecision variable." name="012.js" filename="Data Access/Data Access DataItems/Test Cases/012.js" checkedState="0"/>
<TestCase description="Subscribe: Add monitored items of DataItem type (each supported datatype) to an enabled subscription. Call publish to verify the values received match the expected values of each node." name="013.js" filename="Data Access/Data Access DataItems/Test Cases/013.js" checkedState="0"/>
<TestCase description="Subscribe: Add monitored item for each supported data-type to an enabled subscription. Write the max value of the corresponding data-type. Call Publish." name="014.js" filename="Data Access/Data Access DataItems/Test Cases/014.js" checkedState="0"/>
<TestCase description="Subscribe: Add monitored item (configured with an absolute dead filter value of 10) for each supported data-type to an enabled subscription. Call publish. Perform two writes to each item: 1) Will pass the deadband, 2) Will not pass the deadband. Call publish after each write." name="015.js" filename="Data Access/Data Access DataItems/Test Cases/015.js" checkedState="0"/>
<TestCase description="Browse: The available forward-references of a DataItem node." name="016.js" filename="Data Access/Data Access DataItems/Test Cases/016.js" checkedState="0"/>
<TestCase description="Browse: The available inverse-references of a DataItem node." name="017.js" filename="Data Access/Data Access DataItems/Test Cases/017.js" checkedState="0"/>
<TestCase description="Browse: The available references (both directions) of a DataItem node." name="018.js" filename="Data Access/Data Access DataItems/Test Cases/018.js" checkedState="0"/>
<TestCase description="TranslateBrowsePathsToNodeIds: Get properties for all configured items." name="019.js" filename="Data Access/Data Access DataItems/Test Cases/019.js" checkedState="0"/>
<TestCase description="Read: attributes Value, DataType, AccessLevel, and MinimumSamplingInterval." name="020.js" filename="Data Access/Data Access DataItems/Test Cases/020.js" checkedState="0"/>
<TestCase description="Write: A value using the wrong data-type to a dataitem node that has property "Definition"." name="Err-001.js" filename="Data Access/Data Access DataItems/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: A value using the wrong data-type to a dataitem node that has property "ValuePrecision"." name="Err-002.js" filename="Data Access/Data Access DataItems/Test Cases/Err-002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access DataItems/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support MultiStateDiscreteType Variables with corresponding Properties." name="Data Access MultiState" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access MultiState/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Type is defined in the address-space." name="000.js" filename="Data Access/Data Access MultiState/Test Cases/000.js" checkedState="0"/>
<TestCase description="Read: A node of this type and check the EnumStrings variable exists." name="001.js" filename="Data Access/Data Access MultiState/Test Cases/001.js" checkedState="0"/>
<TestCase description="Read: Multiple nodes of this type in a single call." name="002.js" filename="Data Access/Data Access MultiState/Test Cases/002.js" checkedState="0"/>
<TestCase description="Write: to a Single node of this type, each value as supported by the enumeration length." name="003.js" filename="Data Access/Data Access MultiState/Test Cases/003.js" checkedState="0"/>
<TestCase description="Subscription: Subscribe to a node of this Type and then in a loop: write a Value, call Publish, compare received value vs written value." name="004.js" filename="Data Access/Data Access MultiState/Test Cases/004.js" checkedState="0"/>
<TestCase description="Subscription: Multiple nodes of this type. Writing values to each, calling Publish and comparing the values received match those written." name="005.js" filename="Data Access/Data Access MultiState/Test Cases/005.js" checkedState="0"/>
<TestCase description="Browse: EnumStrings variable." name="006.js" filename="Data Access/Data Access MultiState/Test Cases/006.js" checkedState="0"/>
<TestCase description="Browse: All Forward references." name="007.js" filename="Data Access/Data Access MultiState/Test Cases/007.js" checkedState="0"/>
<TestCase description="Browse: Browse a node of TwoStateDiscrete type requesting all Forward references." name="008.js" filename="Data Access/Data Access MultiState/Test Cases/008.js" checkedState="0"/>
<TestCase description="Browse: Browse a node of MultiState type requesting all Forward references." name="009.js" filename="Data Access/Data Access MultiState/Test Cases/009.js" checkedState="0"/>
<TestCase description="TranslateBrowsePathsToNodeIds: Request EnumValues and ValueAsText." name="010.js" filename="Data Access/Data Access MultiState/Test Cases/010.js" checkedState="0"/>
<TestCase description="Write: To EnumStrings property." name="011.js" filename="Data Access/Data Access MultiState/Test Cases/011.js" checkedState="0"/>
<TestCase description="Write: To ValueAsText property." name="012.js" filename="Data Access/Data Access MultiState/Test Cases/012.js" checkedState="0"/>
<TestCase description="Write: A value that exceeds the range defined by EnumStrings property." name="Err-001.js" filename="Data Access/Data Access MultiState/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: Value as a string, e.g. "2", but within bounds of EnumStrings length." name="Err-002.js" filename="Data Access/Data Access MultiState/Test Cases/Err-002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access MultiState/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support PercentDeadband filter when monitoring AnalogItemType Variables." name="Data Access PercentDeadBand" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Specify a dataChange filter of DeadbandPercent of 0, monitoringMode is disabled." name="001.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies MonitoringMode = Sampling, Filter = PercentDeadband, DeadbandValue = 0. Calls Publish." name="002.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies MonitoringMode = Reporting, Filter = PercentDeadband, DeadbandValue = 0. Issue 2 writes and call Publish for each write to verify that the written value is received. " name="003.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies MonitoringMode = Reporting, QueueSize = 10, Filter = PercentDeadband, DeadbandValue = 10. Issues 5 writes within the 10% range and 5 outside of this range. Calls Publish to verify that only the dataChanges where the values are within the 10% fluctuation are received." name="004.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/004.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies MonitoringMode = Disabled, Filter = PercentDeadband, DeadbandValue = 0, Queue = 0. Calls Publish." name="005.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/005.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify 2 Nodes (from a subscription of 5) to use a deadband filter." name="006.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/006.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: 5 items, 2 are deadband = 99%. Write EURange.Low, EURange.High and somewhere in the middle." name="007.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/007.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Change existing DeadbandPercent to 0%. Check deadband functionality with Writes and calls to Publish." name="008.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/008.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Array types using DeadbandPercent=10%." name="009.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/009.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Array type using IndexRange="2:3"." name="010.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/010.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: PercentDeadband of 10%." name="011.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/011.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: PercentDeadband-0; QueueSize=1; DiscardOldest=False. No QueueOverflow." name="014.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/014.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify an attribute that is not VALUE. Expect Bad_FilterNotAllowed." name="Err-001.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Deadband value is 125% returns Bad_DeadbandFilterInvalid." name="Err-002.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Non-analog type results in Bad_FilterNotAllowed." name="Err-003.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Deadband on Types that are N/A such as Strings, Booleans etc." name="Err-004.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Deadband value of -1 expects Bad_DeadbandFilterInvalid." name="Err-005.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/Err-005.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access PercentDeadBand/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support Semantic changes of AnalogItemType items (EURange Property and/or EngineeringUnits Property). Support semantic change StatusCode bits where appropriate." name="Data Access Semantic Changes" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access Semantic Changes/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Write to EngineeringUnits." name="001.js" filename="Data Access/Data Access Semantic Changes/Test Cases/001.js" checkedState="0"/>
<TestCase description="Write to EngineeringUnits; do not acknowledge received Publish response." name="002.js" filename="Data Access/Data Access Semantic Changes/Test Cases/002.js" checkedState="0"/>
<TestCase description="Write to EURange." name="003.js" filename="Data Access/Data Access Semantic Changes/Test Cases/003.js" checkedState="0"/>
<TestCase description="Write to TwoStateDiscreteType.TrueState." name="004.js" filename="Data Access/Data Access Semantic Changes/Test Cases/004.js" checkedState="0"/>
<TestCase description="Write to TwoStateDiscreteType.FalseState." name="005.js" filename="Data Access/Data Access Semantic Changes/Test Cases/005.js" checkedState="0"/>
<TestCase description="Add an element to the MultiStateDiscreteType.EnumStrings array." name="006.js" filename="Data Access/Data Access Semantic Changes/Test Cases/006.js" checkedState="0"/>
<TestCase description="Remove an element from the MultiStateDiscreteType.EnumStrings array." name="007.js" filename="Data Access/Data Access Semantic Changes/Test Cases/007.js" checkedState="0"/>
<TestCase description="Subscribe to MultiStateDiscrete item and then change the value in the EnumStrings property." name="008.js" filename="Data Access/Data Access Semantic Changes/Test Cases/008.js" checkedState="0"/>
<TestCase description="Same as 008, but modifies multiple EnumStrings elements." name="009.js" filename="Data Access/Data Access Semantic Changes/Test Cases/009.js" checkedState="0"/>
<TestCase description="Multiple items, force a change in any property." name="010.js" filename="Data Access/Data Access Semantic Changes/Test Cases/010.js" checkedState="0"/>
<TestCase description="2 sessions; subscription; check semanticsChanged bit." name="011.js" filename="Data Access/Data Access Semantic Changes/Test Cases/011.js" checkedState="0"/>
<TestCase description="2-sessions; inverse behavior of 11." name="012.js" filename="Data Access/Data Access Semantic Changes/Test Cases/012.js" checkedState="0"/>
<TestCase description="(SemanticChange) Change InstrumentRange, EURange, EngineeringUnits, or Title properties" name="013.js" filename="Data Access/Data Access Semantic Changes/Test Cases/013.js" checkedState="0"/>
<TestCase description="(SemanticChange) YArrayItemType and XYArrayItemType property changes." name="014.js" filename="Data Access/Data Access Semantic Changes/Test Cases/014.js" checkedState="0"/>
<TestCase description="(SemanticChange) ImageItemType property changes." name="015.js" filename="Data Access/Data Access Semantic Changes/Test Cases/015.js" checkedState="0"/>
<TestCase description="(SemanticChange) CubeItemType property changes." name="016.js" filename="Data Access/Data Access Semantic Changes/Test Cases/016.js" checkedState="0"/>
<TestCase description="(SemanticChange) NDimensionArrayType property changes." name="017.js" filename="Data Access/Data Access Semantic Changes/Test Cases/017.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access Semantic Changes/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support TwoStateDiscreteType Variables with corresponding Properties." name="Data Access TwoState" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access TwoState/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Type is defined in the address-space." name="000.js" filename="Data Access/Data Access TwoState/Test Cases/000.js" checkedState="0"/>
<TestCase description="Read: The value of the Node, along with the TrueState and FalseState variables." name="001.js" filename="Data Access/Data Access TwoState/Test Cases/001.js" checkedState="0"/>
<TestCase description="Write: Multiple TwoStateDiscrete values." name="002.js" filename="Data Access/Data Access TwoState/Test Cases/002.js" checkedState="0"/>
<TestCase description="Write: Mutliple TwoStateDiscreteTypes, all values=FALSE." name="003.js" filename="Data Access/Data Access TwoState/Test Cases/003.js" checkedState="0"/>
<TestCase description="Write: Multiple TwoStateDiscrete types, alternating the Values (true, false, true, false...)" name="004.js" filename="Data Access/Data Access TwoState/Test Cases/004.js" checkedState="0"/>
<TestCase description="Subscription: Subscribe to a Node, write a Value, wait, call Publish, compare received value to Write. Do in loop." name="005.js" filename="Data Access/Data Access TwoState/Test Cases/005.js" checkedState="0"/>
<TestCase description="Subscription: Multiple nodes. Write. Call Publish. Compare values received. Do in a loop." name="006.js" filename="Data Access/Data Access TwoState/Test Cases/006.js" checkedState="0"/>
<TestCase description="Browsing: Query the Forward, then Inverse, then Both direction references!" name="007.js" filename="Data Access/Data Access TwoState/Test Cases/007.js" checkedState="0"/>
<TestCase description="TranslateBrowsePathsToNodeIds: Request both properties." name="008.js" filename="Data Access/Data Access TwoState/Test Cases/008.js" checkedState="0"/>
<TestCase description="Write: To TrueState and FalseState." name="009.js" filename="Data Access/Data Access TwoState/Test Cases/009.js" checkedState="0"/>
<TestCase description="Write: "true" to a TwoStateDiscrete. Expect BadTypeMismatch." name="Err-001.js" filename="Data Access/Data Access TwoState/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Write: "TRUE" to a TwoStateDiscrete. Expect BadTypeMismatch." name="Err-002.js" filename="Data Access/Data Access TwoState/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [string]." name="Err-003.js" filename="Data Access/Data Access TwoState/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [int]." name="Err-004.js" filename="Data Access/Data Access TwoState/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [string]." name="Err-005.js" filename="Data Access/Data Access TwoState/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [int]." name="Err-006.js" filename="Data Access/Data Access TwoState/Test Cases/Err-006.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [string]." name="Err-007.js" filename="Data Access/Data Access TwoState/Test Cases/Err-007.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [string]." name="Err-008.js" filename="Data Access/Data Access TwoState/Test Cases/Err-008.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [string]." name="Err-009.js" filename="Data Access/Data Access TwoState/Test Cases/Err-009.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [int]." name="Err-010.js" filename="Data Access/Data Access TwoState/Test Cases/Err-010.js" checkedState="0"/>
<TestCase description="Write: Incorrect data-type [string]." name="Err-011.js" filename="Data Access/Data Access TwoState/Test Cases/Err-011.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access TwoState/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Provide Variables of ArrayItemType or one of its subtypes (YArayItemType, XYArrayItemType, ImageArrayType, CubeArrayType, NDimensionArrayType). The actual subtypes that supported will be listed. Support for this type include supporting all of the mandatory properties including AxisInformation." name="Data Access ArrayItemType" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access ArrayItemType/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access ArrayItemType/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Supports the Complex Number data type. This data type is available for any variable types that do not have other explict restrictions." name="Data Access ComplexNumber" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access ComplexNumber/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access ComplexNumber/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Supports the DoubleComplex Number data type. This data type is available for any variable types that do not have other explict restrictions." name="Data Access DoubleComplex Number" used="true">
<InitTestCase description="" name="initialize.js" filename="Data Access/Data Access DoubleComplex Number/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Data Access/Data Access DoubleComplex Number/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="ConformanceUnits with focus on Server Endpoint Discovery" name="Discovery Services">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support the GetEndpoints Service to obtain all Endpoints of one Server.
This includes filtering based on Profiles." name="Discovery Get Endpoints" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="GetEndpoints: Use default parameters." name="001.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/001.js" checkedState="0"/>
<TestCase description="GetEndpoints: Provide a list of supported locales." name="002.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/002.js" checkedState="0"/>
<TestCase description="GetEndpoints: Provide a list of ProfileUris." name="003.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/003.js" checkedState="0"/>
<TestCase description="GetEndpoints: Mix supported and unsupported locale ids." name="004.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/004.js" checkedState="0"/>
<TestCase description="GetEndpoints: Provide a list of locales not conforming to RFC 3066." name="005.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/005.js" checkedState="0"/>
<TestCase description="GetEndpoints: repeat test -001 100-times within 10-seconds." name="007.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/007.js" checkedState="0"/>
<TestCase description="GetEndpoints: EndpointUrl contains unknown hostname" name="008.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/008.js" checkedState="0"/>
<TestCase description="GetEndpoints: Multi-homed with multiple names." name="009.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/009.js" checkedState="0"/>
<TestCase description="GetEndpoints: EndpointUrl contains a string that is not syntacticly a URL." name="010.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/010.js" checkedState="0"/>
<TestCase description="GetEndpoints: unsupported profile URIs." name="011.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/011.js" checkedState="0"/>
<TestCase description="GetEndpoints: Repeat test -010 100-times, in less than 10-seconds." name="012.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/012.js" checkedState="0"/>
<TestCase description="GetEndpoints: ServerUri is identical in all areas (FindServers, GetEndpoints, Certificates etc.)" name="013.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/013.js" checkedState="0"/>
<TestCase description="GetEndpoints: EndpointUrl=null" name="Err-001.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="GetEndpoints: AuthenticationToken in RequestHeader" name="Err-002.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/Err-002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Get Endpoints/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Allow configuration of the Discovery Server URL where the Server will register itself" name="Discovery Configuration" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Configuration/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Configuration/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Accept RegisterServers requests to maintain a list of Servers used for the FindServers Service." name="Discovery Accept Registrations" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Accept Registrations/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Accept Registrations/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="The Discovery Server must only accept RegisterServer requests if they are provided via a Securechannel. (Security mode can not be NONE)" name="Discovery Accept Registrations Security" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Accept Registrations Security/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Accept Registrations Security/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the FindServers Service only for itself." name="Discovery Find Servers Self" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="FindServers: Default parameters." name="001.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/001.js" checkedState="0"/>
<TestCase description="FindServers: Provide endpoint description Url with an unknown hostname." name="002.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/002.js" checkedState="0"/>
<TestCase description="FindServers: Repeat test in a loop of 100 iterations." name="004.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/004.js" checkedState="0"/>
<TestCase description="FindServers: Provide a list of locales not conforming to RFC 3066." name="005.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/005.js" checkedState="0"/>
<TestCase description="FindServers: EndpointUrl is a string but not syntactically a URL." name="008.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/008.js" checkedState="0"/>
<TestCase description="FindServers: repeat -014 100-times within 10-seconds." name="009.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/009.js" checkedState="0"/>
<TestCase description="FindServers: multi-homed PC returns endpoints based on IP/hostname filter." name="010.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/010.js" checkedState="0"/>
<TestCase description="FindServers: EndpointUrl = null." name="Err-001.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="FindServers: Include AuthenticationToken in header." name="Err-002.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/Err-002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Find Servers Self/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the FindServers Service with filter requests." name="Discovery Find Servers Filter" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="FindServers: Filter by server URI." name="001.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/001.js" checkedState="0"/>
<TestCase description="FindServers: Filter by multiple locations." name="002.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/002.js" checkedState="0"/>
<TestCase description="FindServers: Mix supported and unsupported locale ids." name="003.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/003.js" checkedState="0"/>
<TestCase description="FindServers: Unmatched server URI." name="004.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/004.js" checkedState="0"/>
<TestCase description="FindServers: Unsupported locale id." name="005.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/005.js" checkedState="0"/>
<TestCase description="FindServers: Provide a list of supported locales." name="006.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/006.js" checkedState="0"/>
<TestCase description="FindServers: repeat -008 100-times within 10-seconds." name="007.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/007.js" checkedState="0"/>
<TestCase description="FindServers: repeat test -008 10,000-times; within 60-seconds." name="008.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/008.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Find Servers Filter/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Allow configuration of the Discovery Server URL where the Server will register itself.
Allow complete disabling of registration with a Discovery Server." name="Discovery Configuration" used="true">
<InitTestCase description="" name="initialize.js" filename="Discovery Services/Discovery Configuration/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Discovery Services/Discovery Configuration/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Methods represent the function calls of Objects. Methods are invoked and return only after completion (successful or unsuccessful)." name="Method Services">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support the Call Service to call (invoke) a Method." name="Method Call" used="true">
<InitTestCase description="" name="initialize.js" filename="Method Services/Method Call/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="No arguments, i.e. void method( void )" name="001.js" filename="Method Services/Method Call/Test Cases/001.js" checkedState="0"/>
<TestCase description="In arguments, i.e. void method( in[] )" name="002.js" filename="Method Services/Method Call/Test Cases/002.js" checkedState="0"/>
<TestCase description="Out arguments, i.e. void method( out[] )" name="003.js" filename="Method Services/Method Call/Test Cases/003.js" checkedState="0"/>
<TestCase description="In and Out arguments, i.e. void method( in[], out[] )" name="004.js" filename="Method Services/Method Call/Test Cases/004.js" checkedState="0"/>
<TestCase description="**** Invoke all methods on a Node that contains multiple Methods" name="005.js" filename="Method Services/Method Call/Test Cases/005.js" checkedState="0"/>
<TestCase description="Server.GetMonitoredItems during a subscription." name="016.js" filename="Method Services/Method Call/Test Cases/016.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Method Services/Method Call/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Clients define MonitoredItems to subscribe to data and Events. Each MonitoredItem identifies the item to be monitored and the Subscription to use to send Notifications." name="Monitored Item Services">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support alternate encoding when monitoring value Attributes.
By default, every Server has to support the encoding of the currently used Stack Profile ( i.e. binary with UA Binary Encoding and XML with XML Encoding). This ConformanceUnit - when supported" name="Monitor Alternate Encoding" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Alternate Encoding/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Request Default Binary." name="001.js" filename="Monitored Item Services/Monitor Alternate Encoding/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Encoding is Default XML." name="002.js" filename="Monitored Item Services/Monitor Alternate Encoding/Test Cases/002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Alternate Encoding/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the following MonitoredItem Services: CreateMonitoredItems, ModifyMonitoredItems, DeleteMonitoredItems, SetMonitoringMode." name="Monitor Basic" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Basic/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Create a monitored item with the nodeId set to that of a non-Variable node and the attributeId set to a non-Value attribute. Call Publish." name="001.js" filename="Monitored Item Services/Monitor Basic/Test Cases/001.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify a single monitored item." name="002.js" filename="Monitored Item Services/Monitor Basic/Test Cases/002.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Single item; ReturnTimestamp=Source." name="003.js" filename="Monitored Item Services/Monitor Basic/Test Cases/003.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Single item; ReturnTimestamp=Server." name="004.js" filename="Monitored Item Services/Monitor Basic/Test Cases/004.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Single item; ReturnTimestamp=Both." name="005.js" filename="Monitored Item Services/Monitor Basic/Test Cases/005.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Single item; ReturnTimestamp=Neither." name="006.js" filename="Monitored Item Services/Monitor Basic/Test Cases/006.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify single monitoredItem, change queue length to 0." name="007.js" filename="Monitored Item Services/Monitor Basic/Test Cases/007.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify the samplingInterval to 10 msec for one item." name="009.js" filename="Monitored Item Services/Monitor Basic/Test Cases/009.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Change the SamplingInterval for all items, vary the scanrate." name="010.js" filename="Monitored Item Services/Monitor Basic/Test Cases/010.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify the QueueSize of the first item to zero." name="011.js" filename="Monitored Item Services/Monitor Basic/Test Cases/011.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify the QueueSize of the first item to maxInt." name="012.js" filename="Monitored Item Services/Monitor Basic/Test Cases/012.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: large loop of create/delete." name="014.js" filename="Monitored Item Services/Monitor Basic/Test Cases/014.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Script deletes all monitored items from a subscription." name="015.js" filename="Monitored Item Services/Monitor Basic/Test Cases/015.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specifies a valid subscriptionId and multiple monitoredItemIds." name="016.js" filename="Monitored Item Services/Monitor Basic/Test Cases/016.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specify valid item." name="017.js" filename="Monitored Item Services/Monitor Basic/Test Cases/017.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Modify the monitoring mode of 10 items (initial monitoring mode: reporting) with multiple items being set to each of the three modes (Disabled, Reporting, Sampling). Call publish before and after changing the mode and verify that datachange notifications are received only for the reporting items." name="018.js" filename="Monitored Item Services/Monitor Basic/Test Cases/018.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Change the ClientHandle for the first item to a very large number. " name="019.js" filename="Monitored Item Services/Monitor Basic/Test Cases/019.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to disabled for an already disabled monitor item. Call publish each time to verify that no notifications are received." name="020.js" filename="Monitored Item Services/Monitor Basic/Test Cases/020.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to sampling for a disabled monitor item. Call publish each time to verify that no notifications are received." name="021.js" filename="Monitored Item Services/Monitor Basic/Test Cases/021.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to reporting for a disabled monitor item. Call publish once when the monitoring mode is disabled and once when it has been changed to reporting. Verify that data is only received the second time." name="022.js" filename="Monitored Item Services/Monitor Basic/Test Cases/022.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to disabled for a sampling monitor item. Call publish each time to verify that no notifications are received." name="023.js" filename="Monitored Item Services/Monitor Basic/Test Cases/023.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to sampling for an already sampling monitor item. Call publish each time to verify that no notifications are received." name="024.js" filename="Monitored Item Services/Monitor Basic/Test Cases/024.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to reporting for a sampling monitor item. Call publish once when the monitoring mode is sampling and once when it has been changed to reporting. Verify that data is only received the second time." name="025.js" filename="Monitored Item Services/Monitor Basic/Test Cases/025.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to disabled for a reporting monitor item. Call publish once when the monitoring mode is reporting and once when it has been changed to disabled. Verify that data is only received the first time." name="026.js" filename="Monitored Item Services/Monitor Basic/Test Cases/026.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to sampling for a reporting monitor item. Call publish once when the monitoring mode is reporting and once when it has been changed to sampling. Verify that data is only received the first time." name="027.js" filename="Monitored Item Services/Monitor Basic/Test Cases/027.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode to reporting for an already reporting monitor item. Call publish each time to verify notifications are received." name="028.js" filename="Monitored Item Services/Monitor Basic/Test Cases/028.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: 1 item, invalid subscritionId." name="Err-001.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: multiple items, invalid subscritionId." name="Err-002.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Multiple Invalid NodeIds." name="Err-003.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Invalid NodeId" name="Err-004.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Unknown NodeId." name="Err-005.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Invalid AttributeId." name="Err-006.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-006.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a Monitored Item using an Array node while specifying an invalid IndexRange specified using an incorrect syntax of “5:2” (which is backwards)." name="Err-007.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-007.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies an invalid IndexRange of “2-4” (hyphen is an incorrect character) for an array item." name="Err-008.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-008.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies an invalid IndexRange of “2:2” (not a range) for an array item." name="Err-009.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-009.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify an invalid samplingInterval (-10 ms)" name="Err-010.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-010.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify an invalid IndexRange of “-4:-2” (negative) for an array item." name="Err-011.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-011.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a monitored item using an ByteStringArray and StringArray node while specifying invalid IndexRange as: “[0:0],[2:1]”." name="Err-012.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-012.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a monitored item using an ByteStringArray and StringArray node while specifying invalid IndexRange as: “0-0,2-1”." name="Err-013.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-013.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify an invalid (out of bounds) IndexRange for a ByteStringArray and a StringArray node." name="Err-014.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-014.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: TimestampsToReturn = a value not in the enum." name="Err-015.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-015.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: ItemsToCreate[] is empty." name="Err-016.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-016.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Specify an invalid subscriptionId." name="Err-017.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-017.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Specify an invalid monitoredItemId." name="Err-018.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-018.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: All invalid monitoredItemIds." name="Err-019.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-019.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Change the ClientHandle for the first item to a number already in use by another MonitoredItem. " name="Err-020.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-020.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Specify some valid and some invalid monitoredItemIds." name="Err-021.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-021.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Request unsupported filter, e.g. PercentDeadband." name="Err-022.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-022.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify the items in one subscription but specify the monitoredItemId of an item from another subscription." name="Err-023.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-023.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: ItemsToModify is empty." name="Err-024.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-024.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Specify a value for 'TimestampsToReturn' that is not in the enum." name="Err-025.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-025.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Specify invalid monitoredItemId." name="Err-026.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-026.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Specify multiple invalid monitoredItemIds." name="Err-027.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-027.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Specify multiple monitoredItemIds, some valid and some invalid Ids." name="Err-028.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-028.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Specify invalid subscriptionId." name="Err-029.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-029.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: MonitoredItemIds is empty." name="Err-030.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-030.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Set monitoring mode of at least one monitoreditemId belonging to a different subscription." name="Err-031.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-031.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specify invalid subscriptionId." name="Err-032.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-032.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specify Invalid monitoredItemId." name="Err-033.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-033.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specify a valid subscriptionId and multiple invalid monitoredItemIds." name="Err-034.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-034.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specify a valid subscriptionId, and multiple monitoredItemIds of which some are valid and some are invalid." name="Err-035.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-035.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Script specifies empty monitoredItemIds[]." name="Err-037.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-037.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Delete items from one Subscription, and make sure they other Subscription is not affected." name="Err-038.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-038.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies an invalid IndexRange of “-2:0” (negative) for an array item." name="Err-039.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-039.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies an invalid IndexRange of “0x2:0xF” (hex) for an array item." name="Err-040.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-040.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify 2d IndexRange "2:3,1:2" on a single dimension Array. Script checks ValueRank and ArrayDimensions." name="Err-041.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-041.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Request deadband when server doesnt support them." name="Err-042.js" filename="Monitored Item Services/Monitor Basic/Test Cases/Err-042.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Basic/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 2 MonitoredItems per Subscription.
This number has to be supported for at least half of the required Subscriptions for half of the required Sessions." name="Monitor Items 2" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Items 2/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: max items defined by this unit." name="001.js" filename="Monitored Item Services/Monitor Items 2/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Request more items than supported." name="Err-001.js" filename="Monitored Item Services/Monitor Items 2/Test Cases/Err-001.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Items 2/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 10 MonitoredItems per Subscription." name="Monitor Items 10" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: 10 items." name="001.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create 10 monitored items per subscription, with 3 subscriptions." name="002.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/002.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify 10 items and revise their samplingIntervals." name="003.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/003.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify 10 items where: 1) Sampling period alternates 5000 & 500 msec. 2) MonitoringMode is 'Reporting' for first half of items and 'Disabled' for the remaining items. 3) QueueSize increments by 2 for each item. 4) DiscardOldest is True for first half of items and False for the remaining items." name="004.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/004.js" checkedState="0"/>
<TestCase description="Create more items than supported by this unit." name="Err-001.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/Err-001.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Items 10/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 100 MonitoredItems per Subscription.
This number has to be supported for at least half of the required Subscriptions for half of the required Sessions." name="Monitor Items 100" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Items 100/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: 100 nodes" name="001.js" filename="Monitored Item Services/Monitor Items 100/Test Cases/001.js" checkedState="0"/>
<TestCase description="Add 100 items to 3 subscriptions." name="002.js" filename="Monitored Item Services/Monitor Items 100/Test Cases/002.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify 100 items." name="003.js" filename="Monitored Item Services/Monitor Items 100/Test Cases/003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: request more items than supported." name="Err-001.js" filename="Monitored Item Services/Monitor Items 100/Test Cases/Err-001.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Items 100/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 500 MonitoredItems per Subscription.
This number has to be supported for at least half of the required Subscriptions for half of the required Sessions." name="Monitor Items 500" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Items 500/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Add 500 items to a subscription." name="001.js" filename="Monitored Item Services/Monitor Items 500/Test Cases/001.js" checkedState="0"/>
<TestCase description="Add 500 items per subscription, 3 subscriptions total." name="002.js" filename="Monitored Item Services/Monitor Items 500/Test Cases/002.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify 500 items." name="003.js" filename="Monitored Item Services/Monitor Items 500/Test Cases/003.js" checkedState="0"/>
<TestCase description="Add more items to a subscription than supported." name="Err-001.js" filename="Monitored Item Services/Monitor Items 500/Test Cases/Err-001.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Items 500/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 5000 MonitoredItems per Subscription. Supported for at least half of the required Subscriptions for half of the required Sessions." name="Monitor Items 5000" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Items 5000/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Add 5000 items to a subscription." name="001.js" filename="Monitored Item Services/Monitor Items 5000/Test Cases/001.js" checkedState="0"/>
<TestCase description="Add 5000 items per subscription, with 3 subscriptions." name="002.js" filename="Monitored Item Services/Monitor Items 5000/Test Cases/002.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify 5000 items." name="003.js" filename="Monitored Item Services/Monitor Items 5000/Test Cases/003.js" checkedState="0"/>
<TestCase description="Add more items to a subscription than the server can support." name="Err-001.js" filename="Monitored Item Services/Monitor Items 5000/Test Cases/Err-001.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Items 5000/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="This ConformanceUnit does not require queueing when multiple value changes occur during a publish period.
I.e. the latest change will be sent in the Notification." name="Monitor QueueSize_1" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: QueueSize=Max UInt32; expects revision." name="001.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies queueSize = 1 and discardOldest = true. Writes 5 unique values and calls publish." name="002.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: QueueSize=1; DiscardOldest=false; Write numerous values and verify queueSize by calling Publish()." name="003.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Monitor all attributes except Value." name="004.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/004.js" checkedState="0"/>
<TestCase description="ModifySubscription: modify a subscription so MaxNotificationsPerPublish=1; monitoredItem queueSize=1." name="005.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/005.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor QueueSize_1/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 2 queue entries for MonitoredItems.
Servers often will adapt the queue size to the number of currently MonitoredItems. However, it is expected that Servers support this minimum queue size for at least one third of the supported Monitored" name="Monitor MinQueueSize_02" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: QueueSize=Max UInt32; expects revision." name="001.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateSubscription: 1 monitored item; subscription behaves as expected." name="002.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: QueueSize=2. Issue numerous writes and then call Publish() to verify the values received match what is expected." name="003.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: QueueSize=2; DiscardOldest=False; Issue numerous writes, and verify queueSize by calling Publish()." name="004.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/004.js" checkedState="0"/>
<TestCase description="SetMonitoringMode: Change the mode to Disabled, from Reporting. Verify the result by calling Publish." name="005.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/005.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Change the ClientHandle for the first item to another unique number." name="006.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/006.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify multiple monitoredItems, change queue length for all items, the first half at 0 the remainder at 2. " name="007.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/007.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Specify 25 items to modify, where: 1) Sampling period alternates 5000 & 500 msec. 2) MonitoringMode is 'Reporting' for first half of items and 'Disabled' for the remaining items. 3) QueueSize increments by 2 for each item.4) DiscardOldest is True for first half of items and False for the remaining items." name="008.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/008.js" checkedState="0"/>
<TestCase description="ModifySubscription: Revise MaxNotificationsPerPublish to 10 (from 0). DiscardOldest=FALSE." name="009.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/009.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Change ClientHandle." name="010.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/010.js" checkedState="0"/>
<TestCase description="Overflow the queue due to ModifyMonitoredItems" name="011.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/011.js" checkedState="0"/>
<TestCase description="Repeat 011 but with DiscardOldest=false" name="012.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/012.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor MinQueueSize_02/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 5 queue entries for MonitoredItems.
Servers often will adapt the queue size to the number of currently MonitoredItems. However, it is expected that Servers support this minimum queue size for at least one third of the supported Monitored" name="Monitor MinQueueSize_05" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: RequestedQueueSize=MaxUInt32." name="001.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: QueueSize=3" name="002.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/002.js" checkedState="0"/>
<TestCase description="QueueSize=5; DiscardOldest=true. Test overflow." name="003.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/003.js" checkedState="0"/>
<TestCase description="QueueSize=5; DiscardOldest=false. Test overflow." name="004.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/004.js" checkedState="0"/>
<TestCase description="CreateSubscription: maxNotifications=1; queueSize=3" name="005.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/005.js" checkedState="0"/>
<TestCase description="Overflow the queue due to ModifyMonitoredItems" name="006.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/006.js" checkedState="0"/>
<TestCase description="Repeat 007 but with DiscardOldest=false" name="007.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/007.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor MinQueueSize_05/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support at least 10 queue entries for MonitoredItems.
Servers often will adapt the queue size to the number of currently MonitoredItems. However, it is expected that Servers support this minimum queue size for at least one third of the supported Monitored" name="Monitor MinQueueSize_10" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: RequestedQueueSize=MaxUInt32." name="001.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/001.js" checkedState="0"/>
<TestCase description="QueueSize=10; DiscardOldest=true. Test overflow." name="002.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/002.js" checkedState="0"/>
<TestCase description="QueueSize=10; DiscardOldest=false. Test overflow." name="003.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/003.js" checkedState="0"/>
<TestCase description="Overflow the queue due to ModifyMonitoredItems" name="004.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/004.js" checkedState="0"/>
<TestCase description="Repeat 005 but with DiscardOldest=false" name="005.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/005.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor MinQueueSize_10/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="This ConformanceUnit is for events. The server is to allowcate as large a queue as it is capable of and return it as the revisedQueueSize. This required in Part 4 for event subscriptions." name="Monitor QueueSize_ServerMax" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor QueueSize_ServerMax/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor QueueSize_ServerMax/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support creation of MonitoredItems for Attribute value changes. This includes support of the IndexRange to select a single element or a range of elements when the Attribute value is an array." name="Monitor Value Change" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Call using "default" parameters (defined in Test Lab Part 8 document section 5.9.1)" name="001.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Disabled; Filter=null; Queue=1." name="002.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Disabled; Filter=Off; Queue=0." name="004.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/004.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Sampling; Filter=Off; Queue=1." name="005.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/005.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Sampling; Filter=Off; Queue=0." name="006.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/006.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=Off." name="007.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/007.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=Off; Queue=0." name="008.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/008.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=Off; Queue=1; Timestamp=Source." name="009.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/009.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=Off; Queue=1; Timestamp=Server." name="010.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/010.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=Off; Queue=1; Timestamp=Both." name="011.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/011.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=Off; Queue=1; Timestamps=Neither." name="012.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/012.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Arrays of each type are verified with a call to Publish()." name="013.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/013.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Arrays with IndexRange "2:4" are verified with Publish() and Writes() invoked to validate dataChanges occur when relevent." name="014.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/014.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Arrays using IndexRange of 'last 3 elements' are verified with calls to Publish(), with Writes() being invoked also to verify dataChanges are sent when applicable." name="015.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/015.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: User does not have access." name="016.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/016.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies a samplingInterval of 0 ms." name="017.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/017.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies samplingInterval of -1 ms." name="018.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/018.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies samplingInterval of max duration (max real value)." name="019.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/019.js" checkedState="0"/>
<TestCase description="CreateMonitoredItem: IndexRange varied on a ByteStringArray." name="020.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/020.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script creates multiple monitored items, with both valid and invalid nodeIds" name="021.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/021.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: -1 Scanrate" name="022.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/022.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type ByteString, specify an IndexRange of “1”." name="023.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/023.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type String, specify an IndexRange of “1”." name="024.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/024.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type ByteString, specify an IndexRange of “2:3”." name="025.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/025.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type String, specify an IndexRange of “2:3”." name="026.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/026.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type ByteString, specify an IndexRange that would retrieve the last 3 characters of the string." name="027.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/027.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type String, specify an IndexRange that would retrieve the last 3 characters of the string." name="028.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/028.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type ByteStringArray, specify an IndexRange of “1:2,2:3”." name="029.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/029.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type StringArray, specify an IndexRange of “0:2,0:2”." name="030.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/030.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type ByteStringArray, specify an IndexRange of “1,2”." name="031.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/031.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a MonitoredItem of type StringArray, specify an IndexRange of “1,2”." name="032.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/032.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandType=None & Trigger=StatusValue; Write StatusCode to Value (but not value) and call Publish." name="033.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/033.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandType=None & Trigger=Status; Write to StatusCode and Value and call Publish." name="034.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/034.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Writing of V, VQ and then the same values (no change)." name="035.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/035.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Using IndexRange, change the size of the array and verify with Publish." name="036.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/036.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Non-variable node, non-Value attribute." name="037.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/037.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: IndexRange varies on 2d string array." name="038.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/038.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: SamplingInterval=0." name="039.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/039.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Script specifies an invalid IndexRange outside the bounds of the array item." name="Err-001.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Create a monitored item with index range where the specified attribute is not an array or structure for various data types." name="Err-002.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/Err-002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Value Change/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support for complex Event filters, where complex is defined as supporting the complex filter operands" name="Monitor Complex Event Filter" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Complex Event Filter/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Complex Event Filter/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support Deadband Filter" name="Monitor Items Deadband Filter" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Mode=Disabled; Filter=On; Queue=0." name="001.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Sampling; Filter=On; Queue=1." name="002.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Sampling; Filter=On; Queue=0." name="003.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=On." name="004.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/004.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Mode=Reporting; Filter=On; Queue=0." name="005.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/005.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify a deadbandAbsolute for monitoredItems while varying the Attribute. We expect non-Value items to fail." name="006.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/006.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify a filter using deadbandAbsolute of 2 or 2.22. Write values and call Publish() to verify the deadband is being obeyed." name="007.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/007.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify a filter using deadbandAbsolute of 1 or 0.25. Write values and call Publish() to verify the deadband is being obeyed." name="008.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/008.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify a filter using deadbandAbsolute of 250 or 220.5. Write values and call Publish() to verify the deadband is being obeyed." name="009.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/009.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Deadbands against first-element of Arrays." name="010.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/010.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: First-element of Array." name="011.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/011.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: IndexRange "middle-two" on Arrays." name="012.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/012.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandAbsolute; array items; indexRange="1:3"; vary writes." name="013.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/013.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandAbsolute=10 on Scalar arrays varying IndexRange." name="014.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/014.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandAbsolute=10; Array types; change size of array." name="015.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/015.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: IndexRange="full"" name="016.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/016.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Deadbands on Arrays" name="018.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/018.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify an attribute (NOT the .Value attribute) to monitor for change, and specify a filter criteria: Absolute deadband and Percent deadband." name="Err-001.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandAbsolute on non-Numeric Nodes returns Bad_FilterNotAllowed." name="Err-002.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: DeadbandAbsolute specified on a String Node where the value of the string is actually a number. Result = Bad_FilterNotAllowed." name="Err-003.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Modify an attribute (not the .Value attribute) and specify a filter." name="Err-004.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: DeadbandAbsolute on a String node that contains a numeric Value. Bad_FilterNotAllowed expected." name="Err-005.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="ModifyMonitoredItems: Unsupported deadband check (Percent)" name="Err-006.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/Err-006.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Items Deadband Filter/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the SetTriggering Service to create and/or delete triggering links for a triggering item." name="Monitor Triggering" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="SetTriggering: Specify a single subscriptionId, with 1 trigger (linked to 2 monitoredItems)." name="001.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/001.js" checkedState="0"/>
<TestCase description="SetTriggering: Add 2 LinksToAdd." name="002.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/002.js" checkedState="0"/>
<TestCase description="SetTriggering: Specifies 1 LinkToRemove." name="003.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/003.js" checkedState="0"/>
<TestCase description="SetTriggering: Specifies multiple LinksToRemove." name="004.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/004.js" checkedState="0"/>
<TestCase description="SetTriggering: Specify multiple linksToAdd[] and linksToRemove[] at the same time." name="005.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/005.js" checkedState="0"/>
<TestCase description="SetTriggering: Filter uses DeadbandAbsolute of 5 and 0.501 and then invokes Write() to check the deadband is filtering correctly." name="006.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/006.js" checkedState="0"/>
<TestCase description="SetTriggering: Create an infinite loop scenario where: Item1->Item2; and Item2->Item1. Call Publish() several times to verify the callback count == 1." name="007.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/007.js" checkedState="0"/>
<TestCase description="SetTriggering: Specify multiple valid linksToAdd and linksToRemove, and 1 item that is in both linksToAdd and linksToRemove." name="008.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/008.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeringNode=Reporting; Linked=Sampling." name="009.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/009.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeredItem=Enabled; 1 item Added=Reporting; Write to TriggeredItem. Call Publish(). Expect both items in Publish() results." name="010.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/010.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeredItem=Enabled; 4 items Added, 2xDisabled and 2xReporting; Write to TriggeredItem. Call Publish(). Expect triggeringItem & disabled linkedItems in Publish() results." name="011.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/011.js" checkedState="0"/>
<TestCase description="SetTriggering: Specify the same item in both linksToAdd and linksToRemove." name="012.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/012.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeredItem=Reporting; 1 item Added=Reporting; Write to TriggeredItem. Call Publish(). Expect all items in Publish() results." name="013.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/013.js" checkedState="0"/>
<TestCase description="SetTriggering: Trigger mode=Sampling; LinkedItems mode=Reporting." name="014.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/014.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeringItem=Reporting; 1 linksToAdd=same item as triggeringItem." name="015.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/015.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeredItem=Disabled; 1 item Added=Reporting; Write to TriggeredItem. Call Publish(). Expect linkedItem in Publish() results." name="016.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/016.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeredItem=Disabled; 4 items Added, 2xDisabled and 2xReporting; Write to TriggeredItem. Call Publish(). Expect disabled linkedItems in Publish() results." name="017.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/017.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeringItem=Disabled; 1 linksToAdd=same item as triggeringItem." name="018.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/018.js" checkedState="0"/>
<TestCase description="SetTriggering: TriggeredItem=Disabled; 1 item Added=Disabled; Write to TriggeredItem. Call Publish(). Expect triggeringItem in Publish() results." name="019.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/019.js" checkedState="0"/>
<TestCase description="SetTriggering: Deadband testing of Linked items." name="020.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/020.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Script deletes an item that is configured for triggering. Verified by invoking setTriggering(), which is expected to FAIL." name="021.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/021.js" checkedState="0"/>
<TestCase description="DeleteMonitoredItems: Specify valid Ids for a monitored item that has been linked to a triggerItemId." name="022.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/022.js" checkedState="0"/>
<TestCase description="SetTriggering: test that a deleted trigger is indeed deleted." name="023.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/023.js" checkedState="0"/>
<TestCase description="SetTriggering: Remove a link specifying a NodeId that was previously deleted from the subscription." name="024.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/024.js" checkedState="0"/>
<TestCase description="SetTriggering: Specify invalid subscriptionId." name="Err-001.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="SetTriggering: Specifies invalid TriggeringItemId." name="Err-002.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="SetTriggering: Specify invalid linkToAdd." name="Err-003.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="SetTriggering: Specifies some valid and invalid LinksToAdd." name="Err-004.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="SetTriggering: Specifies invalid LinksToRemove." name="Err-005.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="SetTriggering: Specifies some valid and invalid LinksToRemove." name="Err-006.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-006.js" checkedState="0"/>
<TestCase description="SetTriggering: Remove the same link twice." name="Err-007.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-007.js" checkedState="0"/>
<TestCase description="SetTriggering: LinksToAdd and LinksToRemove are both empty." name="Err-008.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-008.js" checkedState="0"/>
<TestCase description="SetTriggering: Script specifies items from different subscriptions for triggeringItemId and linksToAdd[]. The subscriptionID used for triggering is of the subscription that the triggeringItemId belongs to." name="Err-009.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-009.js" checkedState="0"/>
<TestCase description="SetTriggering: Script specifies items from different subscriptions for triggeringItemId and linksToAdd[]. The subscriptionID used for triggering is of the subscription that the linksToAdd belongs to." name="Err-010.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-010.js" checkedState="0"/>
<TestCase description="SetTriggering: Script specifies items from different subscriptions for triggeringItemId and linksToRemove[]. The subscriptionID used for triggering is of the subscription that the triggeringItemId belongs to." name="Err-011.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/Err-011.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Triggering/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support creation of MonitoredItems for a "Notifier Attribute" for the purpose of Event Notification." name="Monitor Events" used="true">
<InitTestCase description="" name="initialize.js" filename="Monitored Item Services/Monitor Events/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="CreateMonitoredItems: Monitors the SERVER object for events. Invokes Write() to cause events to occur." name="001.js" filename="Monitored Item Services/Monitor Events/Test Cases/001.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Monitor the SERVER object specifying a filter of a specific NodeId (node is an Array) and the invoke Write() calls to write values to the array object -outside of IndexRange- verifying events are NOT being received." name="002.js" filename="Monitored Item Services/Monitor Events/Test Cases/002.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Monitor the server object while specifying an Event filter that defines a specific node. Write() to various nodes including the one in the filter. Call Publish(), we expect only the event to be received for the node specified in the filter." name="003.js" filename="Monitored Item Services/Monitor Events/Test Cases/003.js" checkedState="0"/>
<TestCase description="CreateMonitoredItems: Specify an event filter on a Node that does not support Events." name="Err-001.js" filename="Monitored Item Services/Monitor Events/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="" name="example.js" filename="Monitored Item Services/Monitor Events/Test Cases/example.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Monitored Item Services/Monitor Events/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Bundles ConformanceUnits for all Services to add and delete AddressSpace Nodes and References." name="Node Management Services">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support the DeleteReferences Service to delete one or more References of a Node." name="Node Management Delete Ref" used="true">
<InitTestCase description="" name="initialize.js" filename="Node Management Services/Node Management Delete Ref/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="" name="test.js" filename="Node Management Services/Node Management Delete Ref/Test Cases/test.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Node Management Services/Node Management Delete Ref/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the AddReferences Service to add one or more References to one or more Nodes." name="Node Management Add Ref" used="true">
<InitTestCase description="" name="initialize.js" filename="Node Management Services/Node Management Add Ref/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="" name="test.js" filename="Node Management Services/Node Management Add Ref/Test Cases/test.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Node Management Services/Node Management Add Ref/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the DeleteNodes Service to delete one or more Nodes from the AddressSpace." name="Node Management Delete Node" used="true">
<InitTestCase description="" name="initialize.js" filename="Node Management Services/Node Management Delete Node/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="NodesToDelete is empty" name="Err-001.js" filename="Node Management Services/Node Management Delete Node/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Specify more nodes than the server reports" name="Err-002.js" filename="Node Management Services/Node Management Delete Node/Test Cases/Err-002.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Node Management Services/Node Management Delete Node/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support the AddNodes service to add one or more Nodes into the AddressSpace." name="Node Management Add Node" used="true">
<InitTestCase description="" name="initialize.js" filename="Node Management Services/Node Management Add Node/Test Cases/initialize.js" checkedState="0"/>
<TestCases>
<TestCase description="Add a node using typical parameters" name="001.js" filename="Node Management Services/Node Management Add Node/Test Cases/001.js" checkedState="0"/>
<TestCase description="Vary BrowseName and ReferenceTypeId (based on settings)" name="002.js" filename="Node Management Services/Node Management Add Node/Test Cases/002.js" checkedState="0"/>
<TestCase description="AddNode varying the NodeClass." name="003.js" filename="Node Management Services/Node Management Add Node/Test Cases/003.js" checkedState="0"/>
<TestCase description="empty NodesToAdd parameter" name="Err-001.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-001.js" checkedState="0"/>
<TestCase description="Add more nodes than reported in ServerCapabilities" name="Err-002.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-002.js" checkedState="0"/>
<TestCase description="ParentNodeId unknown" name="Err-003.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-003.js" checkedState="0"/>
<TestCase description="ReferenceTypeId is unknown" name="Err-004.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-004.js" checkedState="0"/>
<TestCase description="Use incorrect Reference type" name="Err-005.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-005.js" checkedState="0"/>
<TestCase description="Specify RequestdeNewNodeId even if not supported" name="Err-006.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-006.js" checkedState="0"/>
<TestCase description="Specify a RequestedNewNodeId and NamespaceIndex is 0." name="Err-007.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-007.js" checkedState="0"/>
<TestCase description="RequestedNodeId already in use" name="Err-008.js" filename="Node Management Services/Node Management Add Node/Test Cases/Err-008.js" checkedState="0"/>
</TestCases>
<CleanupTestCase description="" name="cleanup.js" filename="Node Management Services/Node Management Add Node/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Covers all transport and encoding combinations that are specified in Part 6 of the OPC UA specification." name="Protocol and Encoding">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Allow administration of the Endpoints and the port number used by the Endpoints." name="Protocol Configuration" used="true">
<InitTestCase description="" name="initialize.js" filename="Protocol and Encoding/Protocol Configuration/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Protocol and Encoding/Protocol Configuration/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Transport" description="Support "SOAP/HTTP" transport with UA Binary Encoding and with WS Secure Conversation." name="Protocol Soap Binary WS Security" used="true">
<InitTestCase description="" name="initialize.js" filename="Protocol and Encoding/Protocol Soap Binary WS Security/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Protocol and Encoding/Protocol Soap Binary WS Security/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Transport" description="Support the UA TCP transport protocol with UA Binary Encoding and with UA Secure Conversation." name="Protocol TCP Binary UA Security" used="true">
<InitTestCase description="" name="initialize.js" filename="Protocol and Encoding/Protocol TCP Binary UA Security/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Protocol and Encoding/Protocol TCP Binary UA Security/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Transport" description="Support "SOAP/HTTP" transport with XML Encoding and with WS Secure Conversation." name="Protocol Soap Xml WS Security" used="true">
<InitTestCase description="" name="initialize.js" filename="Protocol and Encoding/Protocol Soap Xml WS Security/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Protocol and Encoding/Protocol Soap Xml WS Security/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="The design of OPC UA ensures that vendors can create redundant Clients and redundant Servers in a consistent manner. Redundancy may be used for high availability, fault tolerance and load balancing." name="Redundancy">
<ConformanceUnits>
<ConformanceUnit category="Server" description="Support transparent Server redundancy." name="Redundancy Server Transparent" used="true">
<InitTestCase description="" name="initialize.js" filename="Redundancy/Redundancy Server Transparent/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Redundancy/Redundancy Server Transparent/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
<ConformanceUnit category="Server" description="Support Server-based redundancy." name="Redundancy Server" used="true">
<InitTestCase description="" name="initialize.js" filename="Redundancy/Redundancy Server/Test Cases/initialize.js" checkedState="0"/>
<TestCases/>
<CleanupTestCase description="" name="cleanup.js" filename="Redundancy/Redundancy Server/Test Cases/cleanup.js" checkedState="0"/>
</ConformanceUnit>
</ConformanceUnits>
</ConformanceGroup>
<ConformanceGroup description="Security related ConformanceUnits that can be profiled." name="Security">
<ConformanceUnits>
<ConformanceUnit category="Security" description="A suite of algorithms that does NOT provide any security settings
SymmetricSignatureAlgorithm	-
SymmetricEncryptionAlgorithm	-
AsymmetricSignatureAlgorithm	-
SymmetricKeyWrapAlgorithm	-
AsymmetricEncryptionAlgorithm	-
KeyDerivationAlgorithm	PSha1	(h" name="Security None" used="true">