AtsMec_BwManagementAPI_TestCases.ttcn 4.09 KB
Newer Older
YannGarcia's avatar
YannGarcia committed
1
2
3
4
5
6
7
8
9
/**
 *    @author   ETSI / STF569
 *    @version  $URL:$
 *              $ID:$
 *    @desc     This module provides the MEC test cases.
 *    @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.
10
 *    @see      ETSI GS MEC 003, Draft ETSI GS MEC 016 V2.0.3 (2018-10)
YannGarcia's avatar
YannGarcia committed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 */
module AtsMec_BwManagementAPI_TestCases {
  
  // Libcommon
  import from LibCommon_Time all;
  import from LibCommon_VerdictControl all;
  import from LibCommon_Sync all;
  
  // LibHttp
  import from LibItsHttp_TypesAndValues all;
  import from LibItsHttp_Functions all;
  import from LibItsHttp_Templates all;
  import from LibItsHttp_JsonTemplates all;
  import from LibItsHttp_TestSystem all;
  
  // LibMec/BwManagementAPI
  import from BwManagementAPI_TypesAndValues all;
  import from BwManagementAPI_Templates all;
YannGarcia's avatar
YannGarcia committed
29
30
  import from BwManagementAPI_Pics all;
  import from BwManagementAPI_Pixits all;
YannGarcia's avatar
YannGarcia committed
31
32
33
34
35
36
37
38
  
  // LibMec
  import from LibMec_Functions all;
  import from LibMec_Pics all;
  import from LibMec_Pixits all;
  
  group me_app_role {
    
YannGarcia's avatar
YannGarcia committed
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
    /**
     * @desc Check that the IUT responds with the list of configured bandwidth allocations when queried by a MEC Application
     * @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/Plat/Mp1/Bandwidth/PlatBandwidthManager.tplan2
     * @see hhttps://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/raw/master/BwManagementApi.yaml
     */
    testcase TC_MEC_PLAT_MP1_BWA_BV_001() runs on HttpComponent system HttpTestAdapter {
        // Local variables
        var HeaderLines v_headers;
        var HttpMessage v_response;
        
        // Test control
        if (not(PICS_MEC_PLAT) or not(PICS_BWMANAGEMENT_API_SUPPORTED)) {
            log("*** " & testcasename() & ": PICS_MEC_PLAT and PICS_BWMANAGEMENT_API_SUPPORTED required for executing the TC ***");
            setverdict(inconc);
            stop;
        }
        
        // Test component configuration
        f_cf_01_http_up();
        
        // Test adapter configuration
        
        // Preamble
        f_init_default_headers_list(-, -, v_headers);
        httpPort.send(
                      m_http_request(
                                     m_http_request_get(
                                                        PX_ME_BWM_URI & "?app_instance_id=" & oct2char(unichar2oct(PX_APP_INSTANCE_ID, "UTF-8")),
                                                        v_headers
                                                        )
                                     )
                      );
        f_selfOrClientSyncAndVerdict(c_prDone, e_success);
        
        // Test Body
        tc_ac.start;
        alt {
          [] httpPort.receive(
                              mw_http_response(
                                               mw_http_response_ok(
                                                                   mw_http_message_body_json(
                                                                                             mw_body_json_bw_info(
                                                                                                                   mw_bw_info
                                                                                                                   ))))) -> value v_response {
YannGarcia's avatar
YannGarcia committed
83
84
            tc_ac.stop;
            
YannGarcia's avatar
YannGarcia committed
85
86
87
88
89
90
91
92
93
94
95
96
97
            log("*** " & testcasename() & ": PASS: IUT successfully responds with a ZoneId ***");
            f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
          }
          [] tc_ac.timeout {
            log("*** " & testcasename() & ": INCONC: Expected message not received ***");
            f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
          }
        } // End of 'alt' statement
        
        // Postamble
        f_cf_01_http_down();
    } // End of testcase TC_MEC_PLAT_MP1_BWA_BV_001
    
YannGarcia's avatar
YannGarcia committed
98
99
100
  } // End of group me_app_role 
  
} // End of module AtsMec_BwManagementAPI_TestCases