Commit 44597636 authored by Michele Carignani's avatar Michele Carignani
Browse files

initail tps from experts for mec 011 and 012

parents
Loading
Loading
Loading
Loading
+196 −0
Original line number Diff line number Diff line
/*
Copyright (c) ETSI 2018.

This software is subject to copyrights owned by ETSI. Non-exclusive permission
is hereby granted, free of charge, to copy, reproduce and amend this file
under the following conditions: It is provided "as is", without warranty of any
kind, expressed or implied.

ETSI shall never be liable for any claim, damages, or other liability arising
from its use or inability of use.This permission does not apply to any documentation
associated with this file for which ETSI keeps all rights reserved. The present
copyright notice shall be included in all copies of whole or part of this
file and shall not imply any sub-license right.
*/



/*
 * Q: one package for all endpoints or one package per endpoint?
 */
 
Package "MEC-011 API, Services endpoint, clause 7.4" {
	
	/*
	 * Q: Do we add the package purpose and/or scope as a 
	 * comment or is there any keyword for this (like for the test objective)?
	 */
	Domain {
		pics:
		- PIC_MEC_PLAT
		;
		entities:
		- MEC_APP	// MEC Application using the MEC Platform Application Enablement API
		- IUT		// MEC Platform
		;
		events:
		- services_running		// services available in the IUT
		- started				// MEC_APP up and running
		- authorised			// MEC_APP authenticated and authorised to use services
		- consume_services		// MEC_APP can use services
		- receives				// IUT receives an HTTP request
		- sends					// IUT sends an HTTP response
		;
	}
	
	Test Purpose {
		TP Id "TP/MEC/PLATFORM/API/SERVICES/001"
		
		Test objective 
			"Check that the IUT responds with a list of available MEC services 
			when queried by a MEC Application"
		
		Reference "ETSI GS MEC 011 V2.0.3, clause 7.4.3.1"
 		PICS Selection PIC_MEC_PLAT

		Initial conditions  with {
			the IUT entity having services_running
			and the IUT entity having started the MEC_APP entity
			and the MEC_APP entity is authorised to consume_services	/* Q: authorisation is for the services defined by consume_services.
																		 * Is this clear and do-able?
																		 */
		}

		Expected behaviour
		    ensure that {
		        when {
		        	// Q: should the parameters be done in a configuration (Data/Configuration like in lis.tplsan2 example)?
		            the IUT entity receives a GET containing
		                Uri indicating value "/mp1/v1/services?ser_category_id=xxx",	// Q: how to define the query parameters?
		                Host,
		                Content_type indicating value "application/json;charset=utf-8",		// Q: is the content type defined anywhere?
		                // Q: how to ensure HTTPS, OAuth 2.0 with bearer tokens (clause 7.2)
		                ;
		            ;
		        }
		        then {
		            the IUT entity sends a httpResponse containing
		                Status_Code indicating value "200 OK", 	// Q: are we to expect only the integer value or also the string?	

			            /* Q: should we test error responses (4xx) as well to ensure all cases are covered?
			             * Should the expected error have a pass verdict?
			             * 
			             * Q: should the status code be in the MEC-025 tables?
			             */

		                version indicating value "1.0",		// Q: do we only accept a specific version?
		                Content_type indicating value "application/json;charset=utf-8",
		                body containing
		                	// Taken from an example
		                	// Are we going to use this verbose format or using mappable test data as per 'TDL Tutorial.pdf, slide 12'? 
		                    xmlMessage containing
		                        version indicating value "1.0",
		                        element "locationResponse" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
		                            element "presence" inNamespace "urn:ietf:params:xml:ns:pidf" containing
		                                attribute "entity" indicating value valid "pres:" uri,
		                                element "tuple" containing
		                                    attribute "id",
		                                    element "status" containing
		                                        element "geopriv" inNamespace "urn:ietf:params:xml:ns:pidf:geopriv10" containing
		                                            element "location-info" 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
		                                                ;
		                                            ;
		                                        ;
		                                    ;
		                                ;
		                            ;
		                        ;
		                    ;
		                ;
		            ;
		        }
		}
	}


	


	Test Purpose {
		TP Id "TP/MEC/PLATFORM/API/SERVICES/002"
		
		/* Q:
		this is testing for 5.2.4 (service registration/update plus notification to other APPs) 
		but the reference is for  7.4.3.4 (service registration/update only).
		What shall be the scope of the test?
		*/
		
		Test objective 
			"Check that the IUT notifies the authorised relevant application instances 
			when a new service is registered or updated"
		
		Reference "ETSI GS MEC 011 V2.0.3, clause 7.4.3.4"
 		PICS Selection PIC_MEC_PLAT		// Q: do we need a different one?

		/* Q:
		should we have different APPs that won't get the notification because they  
		aren't registered for the service (for better test coverage and accuracy)?
		*/
		Initial conditions  with {
			the IUT entity having services_running
			and the IUT entity having started the MEC_APP entity
			and the MEC_APP is authorized to consume_services
		}

		Expected behaviour
		    ensure that {
		        when {
		        	// Q: should the parameters be done in a configuration (Data/Configuration like in lis.tplsan2 example)?
		            the IUT entity receives a POST containing
		                Uri indicating value "/mp1/v1/services",	// Q: how to define the query parameter?
		                Host,
		                Content_type indicating value "application/json;charset=utf-8",		// Q: is the content type defined anywhere?
		                // Q: how to ensure HTTPS, OAuth 2.0 with bearer tokens (clause 7.2)
		                ;
		            ;
		        }
		        then {
		            the IUT entity sends a httpResponse containing
			            // Q: should the status code be in the MEC-025 tables?
		                Status_Code indicating value "200 OK",
		                version indicating value "1.0",		// Q: do we only accept a specific version?
		                Content_type indicating value "application/json;charset=utf-8",
		                body containing
		                	// Taken from an example
		                	// Are we going to use this verbose format or using mappable test data as per 'TDL Tutorial.pdf, slide 12'? 
		                    xmlMessage containing
		                        version indicating value "1.0",
		                        element "locationResponse" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
		                            element "presence" inNamespace "urn:ietf:params:xml:ns:pidf" containing
		                                attribute "entity" indicating value valid "pres:" uri,
		                                element "tuple" containing
		                                    attribute "id",
		                                    element "status" containing
		                                        element "geopriv" inNamespace "urn:ietf:params:xml:ns:pidf:geopriv10" containing
		                                            element "location-info" 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
		                                                ;
		                                            ;
		                                        ;
		                                    ;
		                                ;
		                            ;
		                        ;
		                    ;
		                ;
		            ;
		        }
		}
	}

}
+200 −0
Original line number Diff line number Diff line
/*
Copyright (c) ETSI 2018.

This software is subject to copyrights owned by ETSI. Non-exclusive permission
is hereby granted, free of charge, to copy, reproduce and amend this file
under the following conditions: It is provided "as is", without warranty of any
kind, expressed or implied.

ETSI shall never be liable for any claim, damages, or other liability arising
from its use or inability of use.This permission does not apply to any documentation
associated with this file for which ETSI keeps all rights reserved. The present
copyright notice shall be included in all copies of whole or part of this
file and shall not imply any sub-license right.
*/



/*
 * Q: one package for all endpoints or one package per endpoint?
   A: TBD when we define the Test Suite Structure in details
 */
 
Package "MEC-011 API, Services endpoint, clause 7.4" {
	
	/*
	 * Q: Do we add the package purpose and/or scope as a 
	 * comment or is there any keyword for this (like for the test objective)?
	 */
	Domain {
		pics:
		- PIC_MEC_PLAT
		;
		entities:
		- MEC_APP	// MEC Application using the MEC Platform Application Enablement API
		- IUT		// MEC Platform
		;
		events:
		- services_running		// services available in the IUT
		- started				// MEC_APP up and running
		- authorised			// MEC_APP authenticated and authorised to use services
		- consume_services		// MEC_APP can use services
		- receives				// IUT receives an HTTP request
		- sends					// IUT sends an HTTP response
		;
	}
	
	Test Purpose {
		TP Id "TP/MEC/PLATFORM/API/SERVICES/001"
		
		Test objective 
			"Check that the IUT responds with a list of available MEC services 
			when queried by a MEC Application"
		
		Reference "ETSI GS MEC 011 V2.0.3, clause 7.4.3.1"
 		PICS Selection PIC_MEC_PLAT /* TODO add ICS from MEC 025 sect 7 */

		Initial conditions  with {
			the IUT entity having services_running /* TODO replace by the new PICS */
			and the IUT entity having started the MEC_APP entity /* TODO give a name to this state */
			and the MEC_APP entity is authorised to consume_services 
				/* TODO this can stay in the state? */	
				/* Q: authorisation is for the services defined by consume_services.
				 * Is this clear and do-able?
				 */
		}

		Expected behaviour
		    ensure that {
		        when {
		        	// Q: should the parameters be done in a configuration (Data/Configuration like in lis.tplsan2 example)?
		        		// A: can be resolved using "snippets" or "variant"
		            the IUT entity receives a GET containing
		                Uri indicating value "/mp1/v1/services?ser_category_id=xxx",	// Q: how to define the query parameters?
		                Host,
		                Content_type indicating value "application/json;charset=utf-8",		// Q: is the content type defined anywhere?
		                // Q: how to ensure HTTPS, OAuth 2.0 with bearer tokens (clause 7.2)
		                ;
		            ;
		        }
		        then {
		            the IUT entity sends a httpResponse containing
		                Status_Code indicating value "200 OK", 	// Q: are we to expect only the integer value or also the string?	

			            /* Q: should we test error responses (4xx) as well to ensure all cases are covered?
			             * Should the expected error have a pass verdict?
			             * 
			             * Q: should the status code be in the MEC-025 tables?
			             */

		                version indicating value "1.0",		// Q: do we only accept a specific version?
		                Content_type indicating value "application/json;charset=utf-8",
		                body containing
		                	// Taken from an example
		                	// Are we going to use this verbose format or using mappable test data as per 'TDL Tutorial.pdf, slide 12'? 
		                    xmlMessage containing
		                        version indicating value "1.0",
		                        element "locationResponse" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
		                            element "presence" inNamespace "urn:ietf:params:xml:ns:pidf" containing
		                                attribute "entity" indicating value valid "pres:" uri,
		                                element "tuple" containing
		                                    attribute "id",
		                                    element "status" containing
		                                        element "geopriv" inNamespace "urn:ietf:params:xml:ns:pidf:geopriv10" containing
		                                            element "location-info" 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
		                                                ;
		                                            ;
		                                        ;
		                                    ;
		                                ;
		                            ;
		                        ;
		                    ;
		                ;
		            ;
		        }
		}
	}


	


	Test Purpose {
		TP Id "TP/MEC/PLATFORM/API/SERVICES/002"
		
		/* Q:
		this is testing for 5.2.4 (service registration/update plus notification to other APPs) 
		but the reference is for  7.4.3.4 (service registration/update only).
		What shall be the scope of the test?
		*/
		
		Test objective 
			"Check that the IUT notifies the authorised relevant application instances 
			when a new service is registered or updated"
		
		Reference "ETSI GS MEC 011 V2.0.3, clause 7.4.3.4"
 		PICS Selection PIC_MEC_PLAT		// Q: do we need a different one?

		/* Q:
		should we have different APPs that won't get the notification because they  
		aren't registered for the service (for better test coverage and accuracy)?
		*/
		Initial conditions  with {
			the IUT entity having services_running
			and the IUT entity having started the MEC_APP entity
			and the MEC_APP is authorized to consume_services
		}

		Expected behaviour
		    ensure that {
		        when {
		        	// Q: should the parameters be done in a configuration (Data/Configuration like in lis.tplsan2 example)?
		            the IUT entity receives a POST containing
		                Uri indicating value "/mp1/v1/services",	// Q: how to define the query parameter?
		                Host,
		                Content_type indicating value "application/json;charset=utf-8",		// Q: is the content type defined anywhere?
		                // Q: how to ensure HTTPS, OAuth 2.0 with bearer tokens (clause 7.2)
		                ;
		            ;
		        }
		        then {
		            the IUT entity sends a httpResponse containing
			            // Q: should the status code be in the MEC-025 tables?
		                Status_Code indicating value "200 OK",
		                version indicating value "1.0",		// Q: do we only accept a specific version?
		                Content_type indicating value "application/json;charset=utf-8",
		                body containing
		                	// Taken from an example
		                	// Are we going to use this verbose format or using mappable test data as per 'TDL Tutorial.pdf, slide 12'? 
		                    xmlMessage containing
		                        version indicating value "1.0",
		                        element "locationResponse" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
		                            element "presence" inNamespace "urn:ietf:params:xml:ns:pidf" containing
		                                attribute "entity" indicating value valid "pres:" uri,
		                                element "tuple" containing
		                                    attribute "id",
		                                    element "status" containing
		                                        element "geopriv" inNamespace "urn:ietf:params:xml:ns:pidf:geopriv10" containing
		                                            element "location-info" 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
		                                                ;
		                                            ;
		                                        ;
		                                    ;
		                                ;
		                            ;
		                        ;
		                    ;
		                ;
		            ;
		        }
		}
	}

}
+52 −0
Original line number Diff line number Diff line
Package rnis_rab_query {
	
	Domain {
		pics:
		- PIC_RNIS
		;
		entities:
		- RNIS_CLIENT
		- IUT
		;
		events:
		- RNIS_subscription
		- perform_RNIS_subscription_query_to
		- privileges
		- sends
		- receives
		;
	}
	
	Test Purpose {
		TP Id "TP/MEC/RNIS/QUERY/SUBSCRIPTION/001"
		
		Test objective 
			"Check that the list of RNIS subscriptions is returned when 
			it is requested to the RNIS service"
		
		Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1"
 		PICS Selection PIC_RNIS

		Initial conditions  with {
			the IUT entity having RNIS_subscription containing SUBSCRIPTION_HREF indicating value SUBSCRIPTION_HREF_VALUE
				and containing SUBSCRIPTION_TYPE indicating value CELL_CHANGE
			and the RNIS_CLIENT having privileges to perform_RNIS_subscription_query_to the IUT
		}

 		Expected behaviour
		ensure that {
			when {
				the RNIS_CLIENT entity sends a RNIS all subscription query message 
					to the IUT entity;
			}
			then {
				the RNIS_CLIENT entity receives a valid Response
					containing Response_Status_Code set to 200 and    /* (OK) */
					containing Message_Body containing RNIS_subscription 
						containing SUBSCRIPTION_HREF indicating value SUBSCRIPTION_HREF_VALUE and
						containing SUBSCRIPTION_TYPE indicating value CELL_CHANGE; 
			}
		} 		
	}
}
 No newline at end of file
+50 −0
Original line number Diff line number Diff line
Package rnis_rab_query {
	
	Domain {
		pics:
		- PIC_RNIS
		;
		entities:
		- RNIS_CLIENT
		- IUT
		;
		events:
		- RAB_information
		- perform_RNIS_query_to
		- privileges
		- sends
		- receives
		;
	}
	
	Test Purpose {
		TP Id "TP/MEC/RNIS/QUERY/RAB/001"
		
		Test objective 
			"Check that the Radio Access Bearer (RAB) information is returned when 
			it is requested to the RNIS service"
		
		Reference "ETSI GS MEC 012 1.1.1, clause 7.3.3.1"
 		PICS Selection PIC_RNIS

		Initial conditions  with {
			the IUT entity having RAB_information containing CELL_ID indicating value CELL_USER_INFO
			and the RNIS_CLIENT having privileges to perform_RNIS_query_to the IUT
		}

 		Expected behaviour
		ensure that {
			when {
				the RNIS_CLIENT entity sends a RAB info query message 
					containing URI query parameter cell id indicating value CELL_ID,
					to the IUT entity;
			}
			then {
				the RNIS_CLIENT entity receives a valid Response
					containing Response_Status_Code set to 200 and    /* (OK) */
					containing Message_Body containing RAB_information indicating value CELL_USER_INFO; 
			}
		} 		
	}
}
 No newline at end of file
+51 −0
Original line number Diff line number Diff line
Package rnis_rab_query {
	
	Domain {
		pics:
		- PIC_RNIS /* PIC_7.2.3.5-1 */
		;
		entities:
		- RNIS_CLIENT
		- IUT
		;
		events:
		- RAB_information
		- perform_RNIS_query_to
		- privileges
		- sends
		- receives
		;
	}
	
	Test Purpose {
		TP Id "TP/MEC/RNIS/QUERY/RAB/001"
		
		Test objective 
			"Check that the Radio Access Bearer (RAB) information is returned when 
			it is requested to the RNIS service"
		
		Reference "ETSI GS MEC 012 1.1.1, clause 7.3.3.1"
 		PICS Selection PIC_RNIS /* PIC_RAB_QUERY or PIC_7.2.3.5-1*/

		Initial conditions  with {
			the IUT entity having RAB_information containing CELL_ID indicating value CELL_USER_INFO
			and the RNIS_CLIENT having privileges to perform_RNIS_query_to the IUT
		}

 		Expected behaviour
		ensure that {
			when {
				the RNIS_CLIENT entity sends a "RAB info query message" 
					containing URI query parameter cell id indicating value CELL_ID,
					to the IUT entity;
					/*  switch subject and object of */
			}
			then {
				the RNIS_CLIENT entity receives a valid Response
					containing Response_Status_Code set to 200 and    /* (OK) */
					containing Message_Body containing RAB_information indicating value CELL_USER_INFO; 
			}
		} 		
	}
}
 No newline at end of file