Commit 6acfab6a authored by Andreas Liebig's avatar Andreas Liebig
Browse files

Add ECRF test purpose

parent 12eff6be
Loading
Loading
Loading
Loading
+318 −0
Original line number Diff line number Diff line
/* ETSI Software License
* As long as the hereunder conditions are respected, non-exclusive permission is hereby granted,
* free of charge, to use, reproduce and modify this software source code, under the following conditions:
* This source code is provided AS IS with no warranties, express or implied, including but not limited to,
* the warranties of merchantability, fitness for a particular purpose and warranties for non-infringement
* of intellectual property rights.
* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without
* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary
* loss) arising out of or related to the use of or inability to use the source code.
* This permission is granted to facilitate the implementation of the related ETSI standard, provided that
* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions
* as the present permission.
* This permission does not apply to any documentation associated with this source code for which ETSI keeps
* all rights reserved.
* The present ETSI Source Code license shall be included in all copies of whole or part of this source code
* and shall not imply any sub-license right.
* (c) ETSI 2018 
*/
 
 
Package NG112_ECRF {
        Domain {
            pics:
                - PICS_HTTP_POST_REQUEST
                - PICS_SERVICE_LOST
                ;
            entities:
                - IUT
                - MTC
                ;
            events:
                - receives //for packets coming from the network to the IUT
                - sends //for packets sent by the IUT to the network
                - havingServiceBoundaryFor //IUT is provisioned with the relevant service boundary
                - serviceMappingFor //IUT is provisioned with the relevant service mapping
                - isRequestedToSend //an upper layer requests the IUT to send a packet
                - generates //for internal event generation
                ;
        }

//			Const {
//        SERVICE_URN_1: "urn:service:sos.police";
//        SIP_URI_1: "sip:police@city.com";
//        SERVICE_URN_2: "urn:service:sos.fire";
//        SIP_URI_2: "sip:fire@city.com";
//        SERVICE_BOUNDARY_1: "[
//          [
//            [
//              10.00,
//              50.00
//            ],
//            [
//              15.00,
//              50.00
//            ],
//            [
//              15.00,
//              55.00
//            ],
//            [
//              10.00,
//              55.00
//            ],
//            [
//              10.00,
//              50.00
//            ]
//          ]
//        ]";
//        SERVICE_BOUNDARY_2: "[
//          [
//            [
//              20.00,
//              50.00
//            ],
//            [
//              25.00,
//              50.00
//            ],
//            [
//              25.00,
//              55.00
//            ],
//            [
//              20.00,
//              55.00
//            ],
//            [
//              20.00,
//              50.00
//            ]
//          ]
//        ]";
//        POINT_IN_SERVICE_BOUNDARY_1: "12.00, 53.00"
//        CIRCLE_IN_SERVICE_BOUNDARY_2_POS: "22.00 52.00";
//        CIRCLE_IN_SERVICE_BOUNDARY_2_RADIUS: "1";

        
//		Data {
//        	type PDU;	
//        }
//        Configuration {
//	        Interface Type defaultGT accepts PDU;
//	        Component Type NG112Comp with gate g of type defaultGT;
//	        Test Configuration CFG_ESRP_01 
//	        	containing 
//	        		Tester component BCF of type NG112Comp
//	        		Tester component LIS of type NG112Comp
//	        		Tester component ECRF of type NG112Comp
//	        		SUT component IUT of type NG112Comp
//	        		connection between BCF.g and IUT.g
//	        		connection between LIS.g and IUT.g
//	        		connection between ECRF.g and IUT.g;
//	    }

Test Purpose {
TP Id TP_ECRF_HTTP_POST_BV_02
Test objective 
    "IUT successfully responds with a service URI for a Point in the service boundary" 
Reference 
    "ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause XXX EMERGENCY CALL ROUTING FUNCTION (ECRF)",
    "Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.4",
    "https://tools.ietf.org/html/rfc5222"
//Config Id CFG_ECRF_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_SERVICE_LOST
Initial conditions with {
    the IUT entity havingServiceBoundaryFor the SERVICE_BOUNDARY_1 containing
        serviceMappingFor SERVICE_URN_1 containing
        	URI indicating value SIP_URI_1;
    ;
    and the IUT entity havingServiceBoundaryFor the SERVICE_BOUNDARY_2 containing
        serviceMappingFor SERVICE_URN_2 containing
        	URI indicating value SIP_URI_2;
    ;
}
Expected behaviour
    ensure that {
        when {
            the IUT entity receives a POST containing
                Uri indicating value "/service",
                Host,
                not Accept,
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findService" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "location" containing
                                element "Point" inNamespace "http://www.opengis.net/gml" containing
                                    attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
                                    element "pos" indicating value POINT_POS;
                            ,
                            element "service" indicating value SERVICE_URN_1;
                        ;
                    ;
                ;
            ;
        }
        then {
            the IUT entity sends a httpResponse containing
                Status_Code indicating value "200 OK",
                version indicating value "1.0",
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findServiceResponse" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "mapping" containing
                                attribute "source",
                                attribute "sourceId",
                                attribute "lastUpdated",
                                attribute "expires",
                                element "service" indicating value SERVICE_URN_1,
                                element "uri" indicating value SIP_URI_1;
                            ,
                            element "locationUsed"
                        ;
                    ;
                ;
            ;
        }
    }
}  //End of TP_ECRF_HTTP_POST_BV_01

Test Purpose {
TP Id TP_ECRF_HTTP_POST_BV_02
Test objective 
    "IUT successfully responds with a service URI for a Circle in the service boundary" 
Reference 
    "ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause XXX EMERGENCY CALL ROUTING FUNCTION (ECRF)",
    "Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.4",
    "https://tools.ietf.org/html/rfc5222"
//Config Id CFG_ECRF_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_SERVICE_LOST
Initial conditions with {
    the IUT entity havingServiceBoundaryFor the SERVICE_BOUNDARY_1 containing
        serviceMappingFor SERVICE_URN_1 containing
        	URI indicating value SIP_URI_1;
    ;
    and the IUT entity havingServiceBoundaryFor the SERVICE_BOUNDARY_2 containing
        serviceMappingFor SERVICE_URN_2 containing
        	URI indicating value SIP_URI_2;
    ;
}
Expected behaviour
    ensure that {
        when {
            the IUT entity receives a POST containing
                Uri indicating value "/service",
                Host,
                not Accept,
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findService" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "location" containing
                                element "Circle" inNamespace "http://www.opengis.net/pidflo/1.0" containing
                                    attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
                                    element "pos" inNamespace "http://www.opengis.net/gml" indicating value CIRCLE_IN_SERVICE_BOUNDARY_2_POS,
                                    element "radius" indicating value CIRCLE_IN_SERVICE_BOUNDARY_2_RADIUS containing
                                        attribute "uom" indicating value "urn:ogc:def:uom:EPSG::9001"
                                    ;
                                ;
                            ,
                            element "service" indicating value SERVICE_URN_2;
                        ;
                    ;
                ;
            ;
        }
        then {
            the IUT entity sends a httpResponse containing
                Status_Code indicating value "200 OK",
                version indicating value "1.0",
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findServiceResponse" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "mapping" containing
                                attribute "source",
                                attribute "sourceId",
                                attribute "lastUpdated",
                                attribute "expires",
                                element "service" indicating value SERVICE_URN_2,
                                element "uri" indicating value SIP_URI_2;
                            ,
                            element "locationUsed"
                        ;
                    ;
                ;
            ;
        }
    }
}  //End of TP_ECRF_HTTP_POST_BV_02

Test Purpose {
TP Id TP_ECRF_HTTP_POST_BV_03
Test objective 
    "IUT successfully responds with an error response for an unknown Service URN in the service boundary" 
Reference 
    "ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause XXX EMERGENCY CALL ROUTING FUNCTION (ECRF)",
    "Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.4",
    "https://tools.ietf.org/html/rfc5222"
//Config Id CFG_ECRF_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_SERVICE_LOST
Initial conditions with {
    the IUT entity havingServiceBoundaryFor the SERVICE_BOUNDARY_1 containing
        serviceMappingFor SERVICE_URN_1 containing
        	URI indicating value SIP_URI_1;
    ;
    and the IUT entity havingServiceBoundaryFor the SERVICE_BOUNDARY_2 containing
        serviceMappingFor SERVICE_URN_2 containing
        	URI indicating value SIP_URI_2;
    ;
}
Expected behaviour
    ensure that {
        when {
            the IUT entity receives a POST containing
                Uri indicating value "/service",
                Host,
                not Accept,
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findService" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "location" containing
                                element "Point" inNamespace "http://www.opengis.net/gml" containing
                                    attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
                                    element "pos" indicating value POINT_POS;
                            ,
                            element "service" indicating value SERVICE_URN_2;
                        ;
                    ;
                ;
            ;
        }
        then {
            the IUT entity sends a httpResponse containing
                Status_Code indicating value "200 OK",
                version indicating value "1.0",
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "errors" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "serviceNotImplemented"
                        ;
                    ;
                ;
            ;
        }
    }
}  //End of TP_ECRF_HTTP_POST_BV_03
}
 No newline at end of file