blob: dbff888c5a055155585e62bdf918a7c442453d77 [file] [log] [blame]
Tommy Carpenter3a6ac012020-04-06 14:42:57 -04001# ==================================================================================
2# Copyright (c) 2019 Nokia
3# Copyright (c) 2018-2019 AT&T Intellectual Property.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# ==================================================================================
17import pytest
18
yc999.jang750eb5b2021-06-10 19:04:18 +090019from ricxappframe.entities.rnib.nb_identity_pb2 import NbIdentity
20
Tommy Carpenter3a6ac012020-04-06 14:42:57 -040021
22# These are here just to reduce the size of the code in test_rmr so those (important) tests are more readable; in theory these dicts could be large
23# The actual value of the constants should be ignored by the tests; all we should care
24# about is that the constant value was returned by the RMR function. Further, we should
25# not consider it an error if RMR returns more than what is listed here; these are the
26# list of what is/could be used by this package.
27@pytest.fixture
28def expected_constants():
29 return {
30 "RMR_MAX_XID": 32,
31 "RMR_MAX_SID": 32,
32 "RMR_MAX_MEID": 32,
33 "RMR_MAX_SRC": 64,
34 "RMR_MAX_RCV_BYTES": 4096,
35 "RMRFL_NONE": 0,
36 "RMRFL_MTCALL": 2, # can't be added here until jenkins version >= 1.8.3
37 "RMRFL_AUTO_ALLOC": 3,
38 "RMR_DEF_SIZE": 0,
39 "RMR_VOID_MSGTYPE": -1,
40 "RMR_VOID_SUBID": -1,
41 "RMR_OK": 0,
42 "RMR_ERR_BADARG": 1,
43 "RMR_ERR_NOENDPT": 2,
44 "RMR_ERR_EMPTY": 3,
45 "RMR_ERR_NOHDR": 4,
46 "RMR_ERR_SENDFAILED": 5,
47 "RMR_ERR_CALLFAILED": 6,
48 "RMR_ERR_NOWHOPEN": 7,
49 "RMR_ERR_WHID": 8,
50 "RMR_ERR_OVERFLOW": 9,
51 "RMR_ERR_RETRY": 10,
52 "RMR_ERR_RCVFAILED": 11,
53 "RMR_ERR_TIMEOUT": 12,
54 "RMR_ERR_UNSET": 13,
55 "RMR_ERR_TRUNC": 14,
56 "RMR_ERR_INITFAILED": 15,
57 }
58
59
60@pytest.fixture
61def expected_states():
62 return {
63 0: "RMR_OK",
64 1: "RMR_ERR_BADARG",
65 2: "RMR_ERR_NOENDPT",
66 3: "RMR_ERR_EMPTY",
67 4: "RMR_ERR_NOHDR",
68 5: "RMR_ERR_SENDFAILED",
69 6: "RMR_ERR_CALLFAILED",
70 7: "RMR_ERR_NOWHOPEN",
71 8: "RMR_ERR_WHID",
72 9: "RMR_ERR_OVERFLOW",
73 10: "RMR_ERR_RETRY",
74 11: "RMR_ERR_RCVFAILED",
75 12: "RMR_ERR_TIMEOUT",
76 13: "RMR_ERR_UNSET",
77 14: "RMR_ERR_TRUNC",
78 15: "RMR_ERR_INITFAILED",
79 }
yc999.jang750eb5b2021-06-10 19:04:18 +090080
81
82@pytest.fixture
83def rnib_information():
84 rnib1 = NbIdentity()
85 rnib1.inventory_name = "nodeb_1234"
86 rnib1.global_nb_id.plmn_id = "plmn_1234"
87 rnib1.global_nb_id.nb_id = "nb_1234"
88 rnib1.connection_status = 1
89
90 rnib2 = NbIdentity()
91 rnib1.inventory_name = "nodeb_5678"
92 rnib1.global_nb_id.plmn_id = "plmn_5678"
93 rnib1.global_nb_id.nb_id = "nb_5678"
94 rnib1.connection_status = 6
95
96 return [rnib1.SerializeToString(), rnib2.SerializeToString()]