Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
MEC TTCN-3 Test Suite
Commits
2be74c99
Commit
2be74c99
authored
Aug 13, 2019
by
YannGarcia
Browse files
Finalyze RnisQuery_BV/RnisQuery_BI_BO tests
parent
68867733
Changes
13
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1112 additions
and
477 deletions
+1112
-477
TODO.md
TODO.md
+29
-0
ccsrc/Protocols/Json/json_codec.cc
ccsrc/Protocols/Json/json_codec.cc
+113
-1
etc/AtsMec/AtsMec.cfg
etc/AtsMec/AtsMec.cfg
+12
-1
ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
+578
-11
ttcn/AtsMec/AtsMec_TestControl.ttcn
ttcn/AtsMec/AtsMec_TestControl.ttcn
+11
-1
ttcn/LibIts
ttcn/LibIts
+1
-1
ttcn/LibMec/Ams/ttcn/Ams_Templates.ttcn
ttcn/LibMec/Ams/ttcn/Ams_Templates.ttcn
+31
-33
ttcn/LibMec/RnisAPI/json/RnisAPI.json
ttcn/LibMec/RnisAPI/json/RnisAPI.json
+17
-11
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Pixits.ttcn
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Pixits.ttcn
+9
-1
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
+219
-140
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
+34
-23
ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
+11
-30
ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
+47
-224
No files found.
TODO.md
View file @
2be74c99
...
@@ -27,8 +27,37 @@ https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purpo
...
@@ -27,8 +27,37 @@ https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purpo
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisSpecificSubscription_BV.tplan2
https://forge.etsi.org/gitlab/mec/gs032p2-test-purposes/blob/master/Test%20Purposes/SRV/RNIS/RnisSpecificSubscription_BV.tplan2
-
TC_MEC_SRV_RNIS_011_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_011_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_012_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_012_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_011_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_012_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_016_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_016_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_016_NF
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_017_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_017_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_017_NF
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_018_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_018_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_018_NF
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_019_OK
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_019_BR
<font
color=
"color:green"
>
To be tested
</font>
-
TC_MEC_SRV_RNIS_019_NF
<font
color=
"color:green"
>
To be tested
</font>
### SAQ
### SAQ
### SRVSUB
### SRVSUB
...
...
ccsrc/Protocols/Json/json_codec.cc
View file @
2be74c99
...
@@ -99,14 +99,126 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
...
@@ -99,14 +99,126 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
traffic_rule
.
decode
(
AppEnablementAPI__TypesAndValues
::
TrafficRule_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
traffic_rule
.
decode
(
AppEnablementAPI__TypesAndValues
::
TrafficRule_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
trafficRule
()
=
traffic_rule
;
msg
.
trafficRule
()
=
traffic_rule
;
}
else
if
(
it
->
second
.
find
(
"
\"
CellChangeSubscription
\"
"
)
!=
std
::
string
::
npos
)
{
}
else
if
(
it
->
second
.
find
(
"
\"
CellChangeSubscription
\"
"
)
!=
std
::
string
::
npos
)
{
// Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// TODO Create a method instead of copy/past
//loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
std
::
size_t
it_start
=
str
.
find
(
"
\"
type
\"
"
);
loggers
::
get_instance
().
log
(
"json_codec::decode: id_start=%d"
,
it_start
);
if
(
it_start
!=
std
::
string
::
npos
)
{
std
::
size_t
it_stop
=
str
.
find
(
","
,
it_start
);
//loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
//loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
std
::
size_t
it
=
str
.
find
(
"1"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV4_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"2"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV6_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"3"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"NATED_IP_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"4"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"GTP_TEID"
+
str
.
substr
(
it
+
1
);
}
}
}
}
}
//loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
decoding_buffer
.
clear
();
decoding_buffer
.
put_os
(
OCTETSTRING
(
str
.
length
(),
(
const
unsigned
char
*
)
str
.
c_str
()));
RnisAPI__TypesAndValues
::
CellChangeSubscription
cell_change_subscription
;
RnisAPI__TypesAndValues
::
CellChangeSubscription
cell_change_subscription
;
cell_change_subscription
.
decode
(
RnisAPI__TypesAndValues
::
CellChangeSubscription_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
cell_change_subscription
.
decode
(
RnisAPI__TypesAndValues
::
CellChangeSubscription_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
cellChangeSubscription
()
=
cell_change_subscription
;
msg
.
cellChangeSubscription
()
=
cell_change_subscription
;
//TODO Continue with other ChangeSubscription
//TODO Continue with other ChangeSubscription
}
else
if
(
it
->
second
.
find
(
"
\"
RabInfo
\"
"
)
!=
std
::
string
::
npos
)
{
}
else
if
(
it
->
second
.
find
(
"
\"
RabInfo
\"
"
)
!=
std
::
string
::
npos
)
{
// Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// TODO Create a method instead of copy/past
// loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
std
::
size_t
it_start
=
str
.
find
(
"
\"
type
\"
"
);
loggers
::
get_instance
().
log
(
"json_codec::decode: id_start=%d"
,
it_start
);
if
(
it_start
!=
std
::
string
::
npos
)
{
std
::
size_t
it_stop
=
str
.
find
(
","
,
it_start
);
//loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
//loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
std
::
size_t
it
=
str
.
find
(
"1"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV4_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"2"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV6_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"3"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"NATED_IP_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"4"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"GTP_TEID"
+
str
.
substr
(
it
+
1
);
}
}
}
}
}
//loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
decoding_buffer
.
clear
();
decoding_buffer
.
put_os
(
OCTETSTRING
(
str
.
length
(),
(
const
unsigned
char
*
)
str
.
c_str
()));
RnisAPI__TypesAndValues
::
RabInfo
rab_info
;
RnisAPI__TypesAndValues
::
RabInfo
rab_info
;
rab_info
.
decode
(
RnisAPI__TypesAndValues
::
RabInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
rab_info
.
decode
(
RnisAPI__TypesAndValues
::
RabInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
rabInfo
()
=
rab_info
;
msg
.
rabInfo
()
=
rab_info
;
}
else
if
(
it
->
second
.
find
(
"
\"
S1BearerInfo
\"
"
)
!=
std
::
string
::
npos
)
{
// Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// TODO Create a method instead of copy/past
// loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
std
::
size_t
it_start
=
str
.
find
(
"
\"
type
\"
"
);
loggers
::
get_instance
().
log
(
"json_codec::decode: id_start=%d"
,
it_start
);
if
(
it_start
!=
std
::
string
::
npos
)
{
std
::
size_t
it_stop
=
str
.
find
(
","
,
it_start
);
//loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
//loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
std
::
size_t
it
=
str
.
find
(
"1"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV4_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"2"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"UE_IPV6_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"3"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"NATED_IP_ADDRESS"
+
str
.
substr
(
it
+
1
);
}
else
{
it
=
str
.
find
(
"4"
,
it_start
,
1
);
//loggers::get_instance().log("json_codec::decode: it=%d", it);
if
((
it
!=
std
::
string
::
npos
)
&&
(
it
<
it_stop
))
{
str
=
str
.
substr
(
0
,
it
)
+
"GTP_TEID"
+
str
.
substr
(
it
+
1
);
}
}
}
}
}
//loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
decoding_buffer
.
clear
();
decoding_buffer
.
put_os
(
OCTETSTRING
(
str
.
length
(),
(
const
unsigned
char
*
)
str
.
c_str
()));
RnisAPI__TypesAndValues
::
S1BearerInfo
s1_nearer_info
;
s1_nearer_info
.
decode
(
RnisAPI__TypesAndValues
::
S1BearerInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
s1BearerInfo
()
=
s1_nearer_info
;
}
else
if
(
it
->
second
.
find
(
"
\"
PlmnInfo
\"
"
)
!=
std
::
string
::
npos
)
{
}
else
if
(
it
->
second
.
find
(
"
\"
PlmnInfo
\"
"
)
!=
std
::
string
::
npos
)
{
RnisAPI__TypesAndValues
::
PlmnInfo
plmn_info
;
RnisAPI__TypesAndValues
::
PlmnInfo
plmn_info
;
plmn_info
.
decode
(
RnisAPI__TypesAndValues
::
PlmnInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
plmn_info
.
decode
(
RnisAPI__TypesAndValues
::
PlmnInfo_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
...
@@ -139,7 +251,7 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
...
@@ -139,7 +251,7 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
RnisAPI__TypesAndValues
::
ProblemDetails
problem_details
;
RnisAPI__TypesAndValues
::
ProblemDetails
problem_details
;
problem_details
.
decode
(
RnisAPI__TypesAndValues
::
ProblemDetails_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
problem_details
.
decode
(
RnisAPI__TypesAndValues
::
ProblemDetails_descr_
,
decoding_buffer
,
TTCN_EncDec
::
CT_JSON
);
msg
.
problemDetails__rni
()
=
problem_details
;
msg
.
problemDetails__rni
s
()
=
problem_details
;
}
else
{
}
else
{
...
...
etc/AtsMec/AtsMec.cfg
View file @
2be74c99
...
@@ -104,7 +104,18 @@ system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.1
...
@@ -104,7 +104,18 @@ system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.1
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_011_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_011_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_OK
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_NF
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_NF
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_NF
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_BR
AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_NF
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRANS_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRANS_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_OK
...
...
ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
View file @
2be74c99
This diff is collapsed.
Click to expand it.
ttcn/AtsMec/AtsMec_TestControl.ttcn
View file @
2be74c99
...
@@ -78,7 +78,17 @@ module AtsMec_TestControl {
...
@@ -78,7 +78,17 @@ module AtsMec_TestControl {
}
}
if
(
PICS_RNIS_QUERY
)
{
if
(
PICS_RNIS_QUERY
)
{
execute
(
TC_MEC_SRV_RNIS_016_OK
());
execute
(
TC_MEC_SRV_RNIS_016_OK
());
execute
(
TC_MEC_SRV_RNIS_016_BR
());
execute
(
TC_MEC_SRV_RNIS_016_NF
());
execute
(
TC_MEC_SRV_RNIS_017_OK
());
execute
(
TC_MEC_SRV_RNIS_017_BR
());
execute
(
TC_MEC_SRV_RNIS_017_NF
());
execute
(
TC_MEC_SRV_RNIS_018_OK
());
execute
(
TC_MEC_SRV_RNIS_018_BR
());
execute
(
TC_MEC_SRV_RNIS_018_NF
());
execute
(
TC_MEC_SRV_RNIS_019_OK
());
execute
(
TC_MEC_SRV_RNIS_019_BR
());
execute
(
TC_MEC_SRV_RNIS_019_NF
());
}
}
}
}
...
...
LibIts
@
1e93108a
Subproject commit
806e133118639e261fc589daeffb078559ca605c
Subproject commit
1e93108a94eaa6f95f5b508194bd0632c11f1a1b
ttcn/LibMec/Ams/ttcn/Ams_Templates.ttcn
View file @
2be74c99
...
@@ -10,26 +10,24 @@ module Ams_Templates {
...
@@ -10,26 +10,24 @@ module Ams_Templates {
import
from
Ams_TypesAndValues
all
;
import
from
Ams_TypesAndValues
all
;
import
from
Ams_Pixits
all
;
import
from
Ams_Pixits
all
;
template
(
value
)
AppMobilityServiceInfo
m_app_mobility_service_info
(
template
(
omit
)
AppMobilityServiceInfo
m_app_mobility_service_info
(
in
String
p_app_mobility_service_id
:=
PX_APP_MOBILITY_SERVICE_ID
,
in
String
p_app_mobility_service_id
:=
PX_APP_MOBILITY_SERVICE_ID
,
in
template
(
omit
)
RegistrationInfos
p_registration_info
:=
omit
in
template
(
omit
)
RegistrationInfos
p_registration_info
:=
omit
)
:=
{
)
:=
{
a
ppMobilityService
Id
:=
p_app_mobility_service_id
,
registeredA
ppMobilityService
:=
p_registration_info
,
registeredA
ppMobilityService
:=
p_registration_info
a
ppMobilityService
Id
:=
p_app_mobility_service_id
}
// End of template m_app_mobility_service_info
}
// End of template m_app_mobility_service_info
template
(
present
)
AppMobilityServiceInfo
mw_app_mobility_service_info
(
template
(
present
)
AppMobilityServiceInfo
mw_app_mobility_service_info
(
template
(
present
)
RegistrationInfos
p_registration_info
:=
omit
,
template
(
present
)
RegistrationInfos
p_registration_info
:=
?
,
in
String
p_app_mobility_service_id
template
(
present
)
String
p_app_mobility_service_id
:=
?
)
:=
{
)
:=
{
a
ppMobilityService
Id
:=
p_app_mobility_service_id
,
registeredA
ppMobilityService
:=
p_registration_info
,
registeredA
ppMobilityService
:=
p_
registration_info
a
ppMobilityService
Id
:=
p_
app_mobility_service_id
}
}
template
(
omit
)
RegistrationRequest
m_registration_request
(
template
(
value
)
RegistrationRequest
m_registration_request
(
in
template
(
omit
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
in
template
(
omit
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
in
template
(
omit
)
DeviceInformations
p_device_info
:=
omit
,
in
template
(
omit
)
DeviceInformations
p_device_info
:=
omit
,
in
UInt32
p_expire_time
in
UInt32
p_expire_time
...
@@ -39,14 +37,14 @@ module Ams_Templates {
...
@@ -39,14 +37,14 @@ module Ams_Templates {
expiryTime
:=
p_expire_time
expiryTime
:=
p_expire_time
}
}
template
(
present
)
RegistrationRequest
mw_registration_request
(
template
RegistrationRequest
mw_registration_request
(
in
template
(
present
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
template
ServiceConsumerId
p_service_consumer_id
:=
?
,
in
template
(
present
)
DeviceInformations
p_device_info
:=
omit
,
template
DeviceInformations
p_device_info
:=
omit
,
in
UInt32
p_expire_time
:=
omit
template
UInt32
p_expire_time
:=
omit
)
:=
{
)
:=
{
serviceConsumerId
:=
p_service_consumer_id
,
serviceConsumerId
:=
p_service_consumer_id
,
deviceInformation
:=
omit
,
deviceInformation
:=
p_device_info
,
expiryTime
:=
omit
expiryTime
:=
p_expire_time
}
}
...
@@ -60,13 +58,13 @@ module Ams_Templates {
...
@@ -60,13 +58,13 @@ module Ams_Templates {
expiryTime
:=
p_expire_time
expiryTime
:=
p_expire_time
}
}
template
(
present
)
RegistrationInfo
mw_registration_info
(
template
(
present
)
RegistrationInfo
mw_registration_info
(
in
template
(
present
)
ServiceConsumerId
p_service_consumer_id
:=
omit
,
template
(
present
)
ServiceConsumerId
p_service_consumer_id
:=
?
,
in
template
(
present
)
DeviceInformations
p_device_info
:=
omit
,
template
(
present
)
DeviceInformations
p_device_info
:=
?
,
in
UInt32
p_expire_time
template
(
present
)
UInt32
p_expire_time
)
:=
{
)
:=
{
serviceConsumerId
:=
p_service_consumer_id
,
serviceConsumerId
:=
p_service_consumer_id
,
deviceInformation
:=
omit
,
deviceInformation
:=
p_device_info
,
expiryTime
:=
p_expire_time
expiryTime
:=
p_expire_time
}
}
...
@@ -90,12 +88,12 @@ module Ams_Templates {
...
@@ -90,12 +88,12 @@ module Ams_Templates {
template
(
omit
)
ServiceConsumerId
mw_service_consumer_id
(
template
ServiceConsumerId
mw_service_consumer_id
(
in
String
p_app_instance_id
,
template
(
present
)
String
p_app_instance_id
:=
?
,
in
String
p_mep_id
template
(
present
)
String
p_mep_id
:=
?
)
:=
{
)
:=
{
appInstanceId
:=
omit
,
appInstanceId
:=
p_app_instance_id
,
mepId
:=
omit
mepId
:=
p_mep_id
}
}
...
...
ttcn/LibMec/RnisAPI/json/RnisAPI.json
View file @
2be74c99
...
@@ -5645,7 +5645,7 @@
...
@@ -5645,7 +5645,7 @@
"type"
:
"object"
,
"type"
:
"object"
,
"required"
:
[
"required"
:
[
"appInsId"
,
"appInsId"
,
"
ecgi
"
"
plmn
"
],
],
"properties"
:
{
"properties"
:
{
"timeStamp"
:
{
"timeStamp"
:
{
...
@@ -5654,8 +5654,11 @@
...
@@ -5654,8 +5654,11 @@
"appInsId"
:
{
"appInsId"
:
{
"$ref"
:
"#/definitions/AppInsId"
"$ref"
:
"#/definitions/AppInsId"
},
},
"ecgi"
:
{
"plmn"
:
{
"$ref"
:
"#/definitions/Ecgi"
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/Plmn"
}
}
}
}
}
},
},
...
@@ -5703,7 +5706,6 @@
...
@@ -5703,7 +5706,6 @@
"S1UeInfo"
:
{
"S1UeInfo"
:
{
"type"
:
"object"
,
"type"
:
"object"
,
"required"
:
[
"required"
:
[
"tempUeId"
,
"ecgi"
,
"ecgi"
,
"s1BearerInfoDetailed"
"s1BearerInfoDetailed"
],
],
...
@@ -5739,13 +5741,14 @@
...
@@ -5739,13 +5741,14 @@
"type"
:
"object"
,
"type"
:
"object"
,
"required"
:
[
"required"
:
[
"erabId"
,
"erabId"
,
"s1EnbInfo"
"enbInfo"
,
"sGwInfo"
],
],
"properties"
:
{
"properties"
:
{
"erabId"
:
{
"erabId"
:
{
"$ref"
:
"#/definitions/ErabId"
"$ref"
:
"#/definitions/ErabId"
},
},
"
s1E
nbInfo"
:
{
"
e
nbInfo"
:
{
"$ref"
:
"#/definitions/S1EnbInfo"
"$ref"
:
"#/definitions/S1EnbInfo"
},
},
"sGwInfo"
:
{
"sGwInfo"
:
{
...
@@ -5962,10 +5965,10 @@
...
@@ -5962,10 +5965,10 @@
"example"
:
"UE_IPV4_ADDRESS"
"example"
:
"UE_IPV4_ADDRESS"
},
},
"value"
:
{
"value"
:
{
"type"
:
"
integer
"
,
"type"
:
"
String
"
,
"format"
:
"
int32
"
,
"format"
:
"
String
"
,
"description"
:
"Value for the identifier"
,
"description"
:
"Value for the identifier"
,
"example"
:
1
"example"
:
"192.0.0.2"
}
}
}
}
},
},
...
@@ -5975,10 +5978,13 @@
...
@@ -5975,10 +5978,13 @@
"qci"
:
{
"qci"
:
{
"$ref"
:
"#/definitions/Qci"
"$ref"
:
"#/definitions/Qci"
},
},
"qci_information"
:
{
"qosInformation"
:
{
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/QosInformation"
"$ref"
:
"#/definitions/QosInformation"
}
}
}
}
}
},
},
"Qci"
:
{
"Qci"
:
{
"type"
:
"integer"
,
"type"
:
"integer"
,
...
...
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Pixits.ttcn
View file @
2be74c99
...
@@ -18,10 +18,18 @@ module RnisAPI_Pixits {
...
@@ -18,10 +18,18 @@ module RnisAPI_Pixits {
modulepar
CallbackReference
PX_CALLBACK_REFERENCE
:=
"http://meAppClient.example.com/rni/v2/notifications/cell_change/77777"
;
modulepar
CallbackReference
PX_CALLBACK_REFERENCE
:=
"http://meAppClient.example.com/rni/v2/notifications/cell_change/77777"
;
modulepar
UInt32
PX_ASSOCIATE_ID_VALUE
:=
1
;
modulepar
JSON
.
String
PX_ASSOCIATE_ID_VALUE
:=
"192.0.0.2"
;
modulepar
CellId
PX_CELL_ID
:=
"0x0800000A"
;
modulepar
CellId
PX_CELL_ID
:=
"0x0800000A"
;
modulepar
CellId
PX_C_ID
:=
"0xFFFFFFFF"
;
modulepar
CellId
PX_NOT_EXISTENT_CELL_ID
:=
"0x8000099"
;
modulepar
AppInsId
PX_APP_INS_ID
:=
"01"
;
modulepar
AppInsId
PX_APP_INS_ID
:=
"01"
;
modulepar
AppInsId
PX_APP_ID
:=
"19"
;
modulepar
AppInsId
PX_NOT_EXISTENT_APP_INS_ID
:=
"99"
;
}
// End of module RnisAPI_Pixits
}
// End of module RnisAPI_Pixits
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
View file @
2be74c99
...
@@ -72,6 +72,45 @@ module RnisAPI_Templates {
...
@@ -72,6 +72,45 @@ module RnisAPI_Templates {
subscriptionType
:=
p_subscriptionType
subscriptionType
:=
p_subscriptionType
}
// End of temlate mw_subscription
}
// End of temlate mw_subscription
template
(
omit
)
CellChangeSubscription
m_cell_change_subscription
(
in
template
(
value
)
CallbackReference
p_callbackReference
,
in
template
(
value
)
Link
p_links
,
in
template
(
value
)
FilterCriteriaAssocHo
p_filterCriteria
,
in
template
(
omit
)
TimeStamp
p_expiryDeadline
:=
omit
)
:=
{
subscriptionType
:=
CELL_CHANGE
,
callbackReference
:=
p_callbackReference
,
links
:=
p_links
,
filterCriteria
:=
p_filterCriteria
,
expiryDeadline
:=
p_expiryDeadline
}
// End of template m_cell_change_subscription
template
(
omit
)
CellChangeSubscription
m_cell_change_subscription_wrong_subscription_type
(
in
template
(
value
)
CallbackReference
p_callbackReference
,
in
template
(
value
)
Link
p_links
,
in
template
(
value
)
FilterCriteriaAssocHo
p_filterCriteria
,
in
template
(
omit
)
TimeStamp
p_expiryDeadline
:=
omit
)
modifies
m_cell_change_subscription
:=
{
subscriptionType
:=
WRONG_PARAMETER
}
// End of template m_cell_change_subscription_wrong_subscription_type
template
CellChangeSubscription
mw_cell_change_subscription
(
template
(
present
)
CallbackReference
p_callbackReference
:=
?
,
template
(
present
)
Link
p_links
:=
?
,
template
(
present
)
FilterCriteriaAssocHo
p_filterCriteria
:=
?
,
template
TimeStamp
p_expiryDeadline
:=
*
)
:=
{
subscriptionType
:=
CELL_CHANGE
,
callbackReference
:=
p_callbackReference
,
links
:=
p_links
,
filterCriteria
:=
p_filterCriteria
,
expiryDeadline
:=
p_expiryDeadline
}
// End of template mw_cell_change_subscription
}
// End of group subscriptions
group
info_request
{
template
(
value
)
RabInfo
m_rab_info
(
template
(
value
)
RabInfo
m_rab_info
(
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
AppInsId
p_appInsId
,
in
AppInsId
p_appInsId
,
...
@@ -99,23 +138,67 @@ module RnisAPI_Templates {
...
@@ -99,23 +138,67 @@ module RnisAPI_Templates {
template
(
value
)
PlmnInfo
m_plmn_info
(
template
(
value
)
PlmnInfo
m_plmn_info
(
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
template
(
value
)
TimeStamp
p_timeStamp
,
in
AppInsId
p_appInsId
,
in
AppInsId
p_appInsId
,
in
template
(
value
)
Ecgi
p_ecgi
in
template
(
value
)
Plmns
p_plmn
)
:=
{
)
:=
{
timeStamp
:=
p_timeStamp
,
timeStamp
:=
p_timeStamp
,
appInsId
:=
p_appInsId
,
appInsId
:=
p_appInsId
,
ecgi
:=
p_
ecgi
plmn
:=
p_
plmn
}
// End of temlate m_plmn_info
}
// End of temlate m_plmn_info
template
(
present
)
PlmnInfo
mw_plmn_info
(
template
(
present
)
PlmnInfo
mw_plmn_info
(
template
(
present
)
TimeStamp
p_timeStamp
:=
?
,
template
(
present
)
TimeStamp
p_timeStamp
:=
?
,
template
(
present
)
AppInsId
p_appInsId
:=
?
,
template
(
present
)
AppInsId
p_appInsId
:=
?
,
template
(
present
)
Ecgi
p_ecgi
:=
?
template
(
present
)
Plmns
p_plmn
:=
?
)
:=
{
)
:=
{
timeStamp
:=
p_timeStamp
,
timeStamp
:=
p_timeStamp
,