dbff888c5a055155585e62bdf918a7c442453d77
[ric-plt/xapp-frame-py.git] / tests / conftest.py
1 # ==================================================================================
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 # ==================================================================================
17 import pytest
18
19 from ricxappframe.entities.rnib.nb_identity_pb2 import NbIdentity
20
21
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
28 def 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
61 def 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     }
80
81
82 @pytest.fixture
83 def 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()]