S1AP_TestCases.ttcn 127 KB
Newer Older
garciay's avatar
garciay committed
 *    @author   ETSI / STF519
garciay's avatar
garciay committed
 *    @desc     This module provides test cases for S1AP tests.
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *    @see      ETSI TS 136 413 / 3GPP TS 36.413 version 13.4.0 Release 13
garciay's avatar
garciay committed
module S1AP_TestCases {
    
    //LibCommon
    import from LibCommon_Sync all ;
    import from LibCommon_VerdictControl all;
    
    //LibS1AP
    //import from LibS1AP_TypesAndValues all;
    import from LibS1AP_Interface all;
garciay's avatar
garciay committed
    import from LibS1AP_Steps all;
    
    //Ats
    import from S1AP_TestConfiguration all;
    import from S1AP_TestSystem all;
    import from S1AP_TCFunctions all;
garciay's avatar
garciay committed
    import from S1AP_Pics all;
    import from S1AP_Pixits all;
    import from S1AP_Steps all;
    import from S1AP_TestSystem all;
    
garciay's avatar
garciay committed
    group eNB_Role {
         * @see ETSI TS 103 497-2 Clause 5.2.2.1.2  E-RAB management group
garciay's avatar
garciay committed
        group ERAB_management_group {
            
            /**
             * @desc Verify that the IUT can successfully process all mandatory IEs in an E-RAB_SETUP_REQUEST received 
             *       due to E-RAB management procedure and send E-RAB_SETUP_RESPONSE with successfully established E-RABs 
             *       included in the E-RAB_Setup_List IE.
             * <pre>
             * Pics Selection: PICS A.3/1.1
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an E-RAB_SETUP_REQUEST
             *             containing an MME_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing an E-RAB_Level_QoS_Parameters
             *                         containing QCI
             *                             indicating value 5
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *         sends an E-RAB_SETUP_RESPONSE
             *             containing an MME_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an E-RAB_Setup_List
             *                 containing an E-RAB_Setup Item 1
             *                     containing an E-RAB_ID
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_RAB_01
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.2.1.2(1st dashed line in 5th dashed list) and 9.1.3.1 and 9.1.3.2
garciay's avatar
garciay committed
            testcase TC_S1AP_eNB_RAB_01() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
garciay's avatar
garciay committed
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
garciay's avatar
garciay committed
                v_s1ap_enb.start(f_TC_S1AP_eNB_RAB_01()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
garciay's avatar
garciay committed
                f_cf_Down();
garciay's avatar
garciay committed
            } // End of testcase TC_S1AP_eNB_RAB_01
            /**
             * @desc Verify that the IUT after receiving an E-RAB_SETUP_REQUEST with failed E-RAB sends an E-RAB_SETUP_RESPONSE 
             *       with E-RAB_Failed_to_Setup_List.
             * <pre>
             * Pics Selection: PICS A.3/1.1
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of an E-RAB_SETUP_REQUEST
             *             containing an MME_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an E-RAB_to_be_Setup_List
             *                 containing an E-RAB_to_be_Setup Item 1
             *                     containing an E-RAB_ID
             *                         indicating value A
             *                     containing an E-RAB_Level_QoS_Parameters
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *                 containing an E-RAB_to_be_Setup Item 2(not acceptable data for eNB)
             *                     containing an E-RAB_ID
             *                         indicating value B(different to value A)
             *                     containing an E-RAB_Level_QoS_Parameters
             *                         containing QCI
             *                             indicating not supported QCI value(255)
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *                     containing a NAS-PDU
             *         sends an E-RAB_SETUP_RESPONSE
             *             containing an MME_UE_S1AP_ID
             *             containing an eNB_UE_S1AP_ID
             *             containing an E-RAB_Setup_List
             *                 containing an E-RAB_Setup Item 1
             *                     containing an E-RAB_ID
             *                         indicating value A
             *                     containing a Transport_Layer_Address
             *                     containing a GTP-TEID
             *             containing an E-RAB_Failed_to_Setup_List
             *                 containing an E-RAB_List Item 1
             *                     containing an E-RAB_ID
             *                         indicating value B
             *                     containing a Cause
             *                         indicating ‘not-supported-QCI-value’.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_RAB_02
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.2.1.2(2nd dashed line in 5th dashed list) and 9.1.3.1 and 9.1.3.2
garciay's avatar
garciay committed
            testcase TC_S1AP_eNB_RAB_02() runs on S1AP system TestAdapter { 
garciay's avatar
garciay committed
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component configuration
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
garciay's avatar
garciay committed
                v_s1ap_enb.start(f_TC_S1AP_eNB_RAB_02()); 
garciay's avatar
garciay committed
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
garciay's avatar
garciay committed
            } // End of testcase TC_S1AP_eNB_RAB_02
garciay's avatar
garciay committed
        } // End of group E-RAB_management_group
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

		group Context_Management_group {

			testcase TC_S1AP_eNB_CMP_01() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_01()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_01

			testcase TC_S1AP_eNB_CMP_02() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_02()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_02


			testcase TC_S1AP_eNB_CMP_03() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_03()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_03


			testcase TC_S1AP_eNB_CMP_04() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_04()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_04
			

			testcase TC_S1AP_eNB_CMP_05() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_05()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_05						


			testcase TC_S1AP_eNB_CMP_06() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_06()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_06


			testcase TC_S1AP_eNB_CMP_07() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_07()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_07


			testcase TC_S1AP_eNB_CMP_08() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_08()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_08


			testcase TC_S1AP_eNB_CMP_09() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_09()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_09


			testcase TC_S1AP_eNB_CMP_10() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_10()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_10

			testcase TC_S1AP_eNB_CMP_111() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_11()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_11

			testcase TC_S1AP_eNB_CMP_12() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_12()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_12


			testcase TC_S1AP_eNB_CMP_13() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_13()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_13


			testcase TC_S1AP_eNB_CMP_14() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_14()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_14
            

			testcase TC_S1AP_eNB_CMP_15() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_15()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_15                     


			testcase TC_S1AP_eNB_CMP_16() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_16()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_16


			testcase TC_S1AP_eNB_CMP_17() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_17()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_17


			testcase TC_S1AP_eNB_CMP_18() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_18()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_18


			testcase TC_S1AP_eNB_CMP_19() runs on S1AP system TestAdapter { 
				// Local variables
				var S1AP v_s1ap_enb; 
                
				// Test control
				if (not PICS_S1AP_eNB_IUT) {
					log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
					stop;
				}
                
				// Test component configuration
				f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
				// Start
				v_s1ap_enb.start(f_TC_S1AP_eNB_CMP_19()); 
                
				// synchronize PTC on 1 sychronization points
				f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
				f_cf_Down();
                
			} // End of testcase TC_S1AP_eNB_CMP_19
			
        } // End of group Context_Management_group
			        
         * @desc Management group
         * @see ETSI TS 103 497-2 Clause 5.2.2.1.6   NAS transport group
         */
        group NAS_transport_group {
            
            /**
             * @desc Verify that the IUT can send an INITIAL_UE_MESSAGE to indicate the initiation of a NAS Transport procedure.
             * <pre>
             * Pics Selection: PICS A.3/5.1
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate the initiation of a NAS Transport procedure
             *         sends an INITIAL_UE_MESSAGE
             *             containing an eNB_UE_S1AP_ID
             *             containing a NAS-PDU
             *             containg a TAI
             *                 containing a PLMN_Identity
             *                 containing a TAC
             *             containing an E-UTRAN_CGI
             *                 containing a PLMN_Identity
             *                 containing a Cell_Identity
             *             containing a RRC_Establishment_Cause.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_NAS_01
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.1¶1 and 9.1.7.1
             */
            testcase TC_S1AP_eNB_NAS_01() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_eNB_NAS_01()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_eNB_NAS_01
            
            /**
             * @desc Verify that the IUT can send an UPLINK_NAS_TRANSPORT to indicate an ongoing NAS Transport procedure.
             * <pre>
             * Pics Selection: PICS A.3/5.3
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate an ongoing NAS Transport procedure
             *         sends an UPLINK_NAS_TRANSPORT
             *             containing an MME UE S1AP ID
             *             containing an eNB_UE_S1AP_ID
             *             containing a NAS-PDU
             *             containg a TAI
             *                 containing a PLMN_Identity
             *                 containing a TAC
             *             containing an E-UTRAN_CGI
             *                 containing a PLMN_Identity
             *                 containing a Cell_Identity
             *             containing a RRC_Establishment_Cause.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_NAS_02
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.3¶1 and 9.1.7.3
             */
            testcase TC_S1AP_eNB_NAS_02() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_eNB_NAS_02()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_eNB_NAS_02
            
            /**
             * @desc Verify that the IUT can send a NAS_NON_DELIVERY_INDICATION to indicate the eNB was unable to ensure that the message has been received by the UE.
             * <pre>
             * Pics Selection: PICS A.3/5.4
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate a UE has not received a INITIAL_UE_MESSAGE
             *         sends a NAS_NON_DELIVERY_INDICATION
             *             containing an MME UE S1AP ID
             *             containing an eNB_UE_S1AP_ID
             *             containing a NAS-PDU
             *             containing a Cause
             *                 indicating an appropriate cause value.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_NAS_03
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.6.2.4 and 9.1.7.4
             */
            testcase TC_S1AP_eNB_NAS_03() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_eNB_NAS_03()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_eNB_NAS_03
            
        } // End of group group NAS_transport_group
        
garciay's avatar
garciay committed
        /**
         * @desc Management group
         * @see ETSI TS 103 497-2 Clause 5.2.2.1.7 Management group
             * @desc Verify that the IUT can successfully process all mandatory IEs in a RESET and sends a RESET_ACKNOWLEDGE due to a Reset procedure initiated from the MME.
             * <pre>
             * Pics Selection: PICS A.3/6.1.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of a RESET
             *             containing a Cause
             *                 indicating an appropriate cause value
             *             containing a Reset_Type
             *                 containing a S1_Interface
             *                     indicating a value ‘Reset_all’
             *         sends a RESET_ACKNOWLEDGE
             *             containing a UE-associated_logical_S1-connection_list.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_MNP_01
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.1¶2 and 9.1.8.1 and 9.1.8.2
             */
garciay's avatar
garciay committed
            testcase TC_S1AP_eNB_MNP_01() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
garciay's avatar
garciay committed
                v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_01()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
garciay's avatar
garciay committed
            } // End of testcase TC_S1AP_eNB_MNP_01
            
            /**
             * @desc Verify that the IUT can send an RESET due to a Reset procedure initiated from the E-UTRAN.
             * <pre>
             * Pics Selection: PICS A.3/6.1.2
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate a Reset procedure initiated from the E-UTRAN
garciay's avatar
garciay committed
             *         sends a RESET
             *             containing a Cause
             *                 indicating an appropriate cause value
             *             containing a Reset_Type
             *                 containing a S1_Interface
             *                     indicating a value ‘Reset_all’.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_MNP_02
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.2¶1 and 9.1.8.1 and 9.1.8.2
             */
garciay's avatar
garciay committed
            testcase TC_S1AP_eNB_MNP_02() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
garciay's avatar
garciay committed
                v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_02()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
garciay's avatar
garciay committed
            } // End of testcase TC_S1AP_eNB_MNP_02
            
            /**
             * @desc Verify that the IUT can successfully manage Reset procedure in case of Abnormal Condition at the E-UTRAN.
             * <pre>
             * Pics Selection: PICS A.3/6.1.1
garciay's avatar
garciay committed
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         on receipt of a RESET
             *             containing a Cause
             *                 indicating an appropriate cause value
             *             containing a Reset_Type
             *                 containing a Part_of_S1_interface
             *                     indicating one empty ‘UE-associated_logical_S1-connection’
             *         sends a RESET_ACKNOWLEDGE
             *             containing a UE-associated_logical_S1-connection_list.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_MNP_03
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.1.2.2¶1 and 9.1.8.1 and 9.1.8.2
             */
garciay's avatar
garciay committed
            testcase TC_S1AP_eNB_MNP_03() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_03()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_eNB_MNP_03
            
            /**
             * @desc Verify that the IUT can send an ERROR_INDICATION due to an Error Indication procedure.
             * <pre>
             * Pics Selection: PICS A.3/6.2.2
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate an Error Indication procedure
             *         sends an ERROR_INDICATION
             *             (containing a Cause
             *             or containing a Criticality_Diagnostics).
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_MNP_04
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.2.2 and 9.1.8.3
             */
            testcase TC_S1AP_eNB_MNP_04() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
                v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_04()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
            } // End of testcase TC_S1AP_eNB_MNP_04
            
            /**
             * @desc Verify that the IUT can send a S1_SETUP_REQUEST to indicate a S1 Setup procedure.
             * <pre>
             * Pics Selection: PICS A.3/6.3
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate a S1 Setup procedure
             *         sends a S1_SETUP_REQUEST
             *         containing a Global_eNB_ID
             *         containing a Supported_TAs
             *             containing a TAC
             *         containing a Default_Paging_DRX.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_MNP_05
garciay's avatar
garciay committed
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.3.2¶1 and 9.1.8.4 and 9.1.8.5
             */
            testcase TC_S1AP_eNB_MNP_05() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);
                
                // Start
garciay's avatar
garciay committed
                v_s1ap_enb.start(f_TC_S1AP_eNB_MNP_05()); 
                
                // synchronize PTC on 1 sychronization points
                f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});
                
                f_cf_Down();
                
garciay's avatar
garciay committed
            } // End of testcase TC_S1AP_eNB_MNP_05
            /**
             * @desc Verify that the IUT can send an ENB_CONFIGURATION_UPDATE to indicate an eNB Configuration Update procedure.
             * <pre>
             * Pics Selection: PICS A.3/6.4
             * Configuration: CF_S1-MME
             *     Ensure that the IUT
             *         to indicate an eNB Configuration Update procedure
             *         sends an ENB_CONFIGURATION_UPDATE
             *             containing a Global_eNB_ID
             *             containing a Supported_TAs
             *                 containing a TAC.
             * </pre>
             * 
             * @see       ETSI TS 103 497-2 TP_S1AP_eNB_MNP_06
             * @reference ETSI TS 136 413 V13.4.0 Clause 8.7.4.2¶1 and 9.1.8.7 and 9.1.8.8
             */
            testcase TC_S1AP_eNB_MNP_06() runs on S1AP system TestAdapter { 
                // Local variables
                var S1AP v_s1ap_enb; 
                
                // Test control
                if (not PICS_S1AP_eNB_IUT) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_S1AP_eNB_IUT' shall be set to true for executing the TC. ***"); 
                    stop;
                }
                
                // Test component direct information
                f_cf_S1AP_eNB_Up(v_s1ap_enb);