Commit 98492565 authored by berge's avatar berge
Browse files

Implemented TC_SAP_SAREF_BV_019

Implemented TC_SAP_SAREF_BV_020
Implemented TC_SAP_SAREF_BV_021
parent e194e6c7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -278,6 +278,10 @@ module SmartAppliances_TestControl {
				execute(TC_SAP_SAREF_BV_016());
				execute(TC_SAP_SAREF_BV_018());
			}
			
			execute(TC_SAP_SAREF_BV_019());
			execute(TC_SAP_SAREF_BV_020());
			execute(TC_SAP_SAREF_BV_021());
		}

		if(PICS_SAP_ASPECT == true) {
+200 −0
Original line number Diff line number Diff line
@@ -4522,6 +4522,206 @@ module SmartAppliances_Testcases {

		} //end g_SAP_SAREF_BV_018

		group g_SAP_SAREF_BV_019 {
    		
			/**
			 * @desc       Check that the IUT sets the “rdf:about” attribute in the <semanticDescriptor> for an 
			 *             OperationState class. 
			 * @see        SmartM2M 103 268-3 - TP/SAP/SAREF/BV/019
			 */
			testcase TC_SAP_SAREF_BV_019() runs on SmartAppliancesTester system SmartAppliancesSystem {
            				
				// Local variables
				var MsgIn v_request;
				var integer v_aeResourceIndex;
				var integer v_iwkResourceIndex;
				var verdicttype v_verdict;
				var charstring v_verdictMsg;
				var RdfDocument v_decodedDescriptor;
				template RdfDocument m_expectedRfDescriptor := superset(
					{pattern PX_DEVICE_URI & "\**\**\d+\*OperationState", "rdf:type", "oneM2M:OperationState"}
				); 
    			    							   
				// Test control
				if(not (PICS_SAP_OPERATION)) {
					setverdict(none, testcasename() & ": ERROR: PICS_SAP_OPERATION required for executing the TC");
					stop;
				}
        	
				// Test component configuration
				SmartAppliances_Functions.f_cf03Up();
        	
				// Test adapter configuration
        	
				// Preamble
				v_aeResourceIndex := f_ae_preamble_registerAe();
				v_iwkResourceIndex := f_ae_preamble_createGenericIwkOpInstance();
        						
				// Test Body
				tc_ac.start;
				alt {
					[] mcaPort.receive(mw_request(mw_createSemanticDescriptor(f_getAeId(v_aeResourceIndex), f_getResourceAddress(v_iwkResourceIndex)))) -> value v_request {
						tc_ac.stop;
						v_verdict := f_rdfParseDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, v_decodedDescriptor, v_verdictMsg);
						setverdict(v_verdict, testcasename() & ": " & v_verdictMsg);
						v_verdict := f_rdfCheckDescriptor(v_decodedDescriptor, m_expectedRfDescriptor, v_verdictMsg);
						setverdict(v_verdict, testcasename() & ": " & v_verdictMsg);
					}
        			
					[] mcaPort.receive(mw_request(?)) {
						tc_ac.stop;
						setverdict(fail, testcasename() & ": ERROR: Incorrect request received");
					}
        			
					[] tc_ac.timeout {
						setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received");
					}
				}
        
				// Postamble
				f_ae_postamble_default();
        	
				// Tear down
				f_cf03Down();
        
			} // end TC_SAP_SAREF_BV_019

		} //end g_SAP_SAREF_BV_019

		group g_SAP_SAREF_BV_020 {
    		
			/**
			 * @desc       Check that the IUT sets the “oneM2MTargetURI” dataProperty in the <semanticDescriptor> for an 
			 *             OperationState class.
			 * @see        SmartM2M 103 268-3 - TP/SAP/SAREF/BV/020
			 */
			testcase TC_SAP_SAREF_BV_020() runs on SmartAppliancesTester system SmartAppliancesSystem {
            				
				// Local variables
				var MsgIn v_request;
				var integer v_aeResourceIndex;
				var integer v_iwkResourceIndex;
				var verdicttype v_verdict;
				var charstring v_verdictMsg;
				var RdfDocument v_decodedDescriptor;
    			    							   
				// Test control
				if(not (PICS_SAP_OPERATION)) {
					setverdict(none, testcasename() & ": ERROR: PICS_SAP_OPERATION required for executing the TC");
					stop;
				}
        	
				// Test component configuration
				SmartAppliances_Functions.f_cf03Up();
        	
				// Test adapter configuration
        	
				// Preamble
				v_aeResourceIndex := f_ae_preamble_registerAe();
				v_iwkResourceIndex := f_ae_preamble_createGenericIwkOpInstance();
        						
				// Test Body
				tc_ac.start;
				alt {
					[] mcaPort.receive(mw_request(mw_createSemanticDescriptor(f_getAeId(v_aeResourceIndex), f_getResourceAddress(v_iwkResourceIndex)))) -> value v_request {
						tc_ac.stop;
						v_verdict := f_rdfParseDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, v_decodedDescriptor, v_verdictMsg);
						setverdict(v_verdict, testcasename() & ": " & v_verdictMsg);
						v_verdict := f_rdfCheckDescriptor(
							v_decodedDescriptor, 
    						superset(
            					{pattern PX_DEVICE_URI & "\**\**\d+\*OperationState", "oneM2M:oneM2MTargetURI", f_getResourceAddress(v_iwkResourceIndex)}
            				), 
            				v_verdictMsg);
						setverdict(v_verdict, testcasename() & ": " & v_verdictMsg);
					}
        			
					[] mcaPort.receive(mw_request(?)) {
						tc_ac.stop;
						setverdict(fail, testcasename() & ": ERROR: Incorrect request received");
					}
        			
					[] tc_ac.timeout {
						setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received");
					}
				}
        
				// Postamble
				f_ae_postamble_default();
        	
				// Tear down
				f_cf03Down();
        
			} // end TC_SAP_SAREF_BV_020

		} //end g_SAP_SAREF_BV_020

		group g_SAP_SAREF_BV_021 {
    		
			/**
			 * @desc       Check that the IUT instantiates the “OperationState”  value in <semanticDescriptor> for an 
			 *             OperationState class.
			 * @see        SmartM2M 103 268-3 - TP/SAP/SAREF/BV/021
			 */
			testcase TC_SAP_SAREF_BV_021() runs on SmartAppliancesTester system SmartAppliancesSystem {
            				
				// Local variables
				var MsgIn v_request;
				var integer v_aeResourceIndex;
				var integer v_iwkResourceIndex;
				var verdicttype v_verdict;
				var charstring v_verdictMsg;
				var RdfDocument v_decodedDescriptor;
				template RdfDocument m_expectedRfDescriptor := superset(
					{pattern PX_DEVICE_URI & "\**\**\d+\*OperationState", "oneM2M:oneM2MAttribute", "OperationState"}
				); 
    			    							   
				// Test control
				if(not (PICS_SAP_OPERATION)) {
					setverdict(none, testcasename() & ": ERROR: PICS_SAP_OPERATION required for executing the TC");
					stop;
				}
        	
				// Test component configuration
				SmartAppliances_Functions.f_cf03Up();
        	
				// Test adapter configuration
        	
				// Preamble
				v_aeResourceIndex := f_ae_preamble_registerAe();
				v_iwkResourceIndex := f_ae_preamble_createGenericIwkOpInstance();
        						
				// Test Body
				tc_ac.start;
				alt {
					[] mcaPort.receive(mw_request(mw_createSemanticDescriptor(f_getAeId(v_aeResourceIndex), f_getResourceAddress(v_iwkResourceIndex)))) -> value v_request {
						tc_ac.stop;
						v_verdict := f_rdfParseDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, v_decodedDescriptor, v_verdictMsg);
						setverdict(v_verdict, testcasename() & ": " & v_verdictMsg);
						v_verdict := f_rdfCheckDescriptor(v_decodedDescriptor, m_expectedRfDescriptor, v_verdictMsg);
						setverdict(v_verdict, testcasename() & ": " & v_verdictMsg);
					}
        			
					[] mcaPort.receive(mw_request(?)) {
						tc_ac.stop;
						setverdict(fail, testcasename() & ": ERROR: Incorrect request received");
					}
        			
					[] tc_ac.timeout {
						setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received");
					}
				}
        
				// Postamble
				f_ae_postamble_default();
        	
				// Tear down
				f_cf03Down();
        
			} // end TC_SAP_SAREF_BV_021

		} //end g_SAP_SAREF_BV_021
		
		group g_SAP_SAREF_BV_022 {
    		
			/**