summaryrefslogtreecommitdiffstats
path: root/tests/test_binding.py
blob: ae3221fde7eee3b8b4c4d452798ee6c108059464 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# ============LICENSE_START=======================================================
# Copyright (c) 2017-2022 AT&T Intellectual Property. All rights reserved.
# Copyright (c) 2019 Pantheon.tech. All rights reserved.
# Copyright (c) 2021 Samsung Electronics. All rights reserved.
# Copyright (c) 2021 Fujitsu Ltd.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================

import os
import pytest
import requests
import httpretty
import subprocess
import json

MODULE_EXTENSIONS = (".py", ".pyc", ".pyo")

#####
# MONKEYPATCHES
#####

mr_url = "http://mrrouter.onap.org:3904"
intopic = "VESCOLL-VNFNJ-SECHEARTBEAT-OUTPUT"
outopic = "POLICY-HILOTCA-EVENT-OUTPUT"


@pytest.fixture()
def disable_proxy(monkeypatch):
    if "http_proxy" in os.environ:
        monkeypatch.delenv("http_proxy")
    if "HTTP_PROXY" in os.environ:
        monkeypatch.delenv("HTTP_PROXY")


@httpretty.activate
def test_resolve_all(disable_proxy):
    htbtmsg = (
        "{"
        '"event": {'
        '        "commonEventHeader":{'
        '        "startEpochMicrosec":1518616063564475,'
        '        "sourceId":"587c14b3-72c0-4581-b5cb-6567310b9bb7",'
        '        "eventId":"10048640",'
        '        "reportingEntityId":"587c14b3-72c0-4581-b5cb-6567310b9bb7",'
        '        "priority":"Normal",'
        '        "version":3,'
        '        "reportingEntityName":"TESTVM",'
        '        "sequence":10048640,'
        '        "domain":"heartbeat",'
        '        "lastEpochMicrosec":1518616063564476,'
        '        "eventName":"Heartbeat_vVnf",'
        '        "sourceName":"TESTVM",'
        '        "nfNamingCode":"vVNF"}'
        "    }"
        "}"
    )
    send_url = mr_url + "/events/" + intopic + "/DefaultGroup/1?timeout=15000"
    print(send_url)
    httpretty.register_uri(httpretty.GET, send_url, body=htbtmsg)
    # Use
    response = requests.get(send_url)
    print(response)
    print(response.text)
    assert response.text == htbtmsg
    htbtmsg = json.dumps(
        {
            "event": {
                "commonEventHeader": {
                    "startEpochMicrosec": 1518616063564475,
                    "sourceId": "587c14b3-72c0-4581-b5cb-6567310b9bb7",
                    "eventId": "10048640",
                    "reportingEntityId": "587c14b3-72c0-4581-b5cb-6567310b9bb7",
                    "priority": "Normal",
                    "version": 3,
                    "reportingEntityName": "TESTVM",
                    "sequence": 10048640,
                    "domain": "heartbeat",
                    "lastEpochMicrosec": 1518616063564476,
                    "eventName": "Heartbeat_vVnf",
                    "sourceName": "TESTVM",
                    "nfNamingCode": "vVNF",
                }
            }
        }
    )
    send_url = mr_url + "/events/" + intopic + "/DefaultGroup/1?timeout=15000"
    print("Send URL : " + send_url)
    httpretty.register_uri(httpretty.GET, send_url, body=htbtmsg, content_type="application/json")
    pol_url = mr_url + "/events/" + outopic + "/DefaultGroup/1?timeout=15000"
    pol_body = json.dumps(
        {
            "event": {
                "commonEventHeader": {
                    "startEpochMicrosec": 1518616063564475,
                    "sourceId": "587c14b3-72c0-4581-b5cb-6567310b9bb7",
                    "eventId": "10048640",
                    "reportingEntityId": "587c14b3-72c0-4581-b5cb-6567310b9bb7",
                    "priority": "Normal",
                    "version": 3,
                    "reportingEntityName": "TESTVM",
                    "sequence": 10048640,
                    "domain": "heartbeat",
                    "lastEpochMicrosec": 1518616063564476,
                    "eventName": "Heartbeat_vVnf",
                    "sourceName": "TESTVM",
                    "nfNamingCode": "vVNF",
                }
            }
        }
    )
    print("Policy URL : " + pol_url)
    httpretty.register_uri(httpretty.POST, pol_url, body=pol_body, status=200, content_type="text/json")


def test_full():
    p = subprocess.Popen(["./miss_htbt_service/misshtbtd.py"], stdout=subprocess.PIPE, shell=True)