def test_case_no_driver(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="RFID_1", etype="text", evalue="No Card") time.sleep(8) with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("State should be -1"): AssertThat(r.json()["result"]).ContainsItem("state", -1)
def test_case_RFID_1(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="RFID_1", etype="text", evalue="94594156156156") # we wait DEVICE_ID in response with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("RFID_1 should have fio Школенко Дмитрий Сергеевич"): AssertThat(r.json()["result"]["driver"]).ContainsItem("fio", "Школенко Дмитрий Сергеевич")
def test_case_device_id(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="DEVICE_ID", etype="text", evalue='AC35EE2644F0') # we wait DEVICE_ID in response with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("DEVICE_ID should be AC35EE2644F0"): AssertThat(r.json()["result"]).ContainsItem( "device_id", "AC35EE2644F0")
def test_case_loader_rotate(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="DEVICE_ID", etype="text", evalue='AC35EE2644DA') mqtt.req83(ename="loader_rotate", etype="switch", evalue="1") with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("reaper should have rotate True"): AssertThat( r.json()["result"]["mechanization"]["reaper"]).ContainsItem( "rotate", True)
def test_case_bunker_sap_id(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="BUNKER_SAP_ID", etype="text", evalue='🇺🇸🇷🇺🇸 🇦🇫🇦🇲🇸') # we wait sap_id in response with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("sap_id should be 🇺🇸🇷🇺🇸 🇦🇫🇦🇲🇸"): AssertThat( r.json()["result"]["mechanization"]["bunker"]).ContainsItem( "sap_id", "🇺🇸🇷🇺🇸 🇦🇫🇦🇲🇸")
def test_case_RFID_2(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="RFID_2", etype="text", evalue="99296465799940") with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("RFID_2 should have name САМОСВАЛ КАМАЗ 55102"): AssertThat(r.json()["result"]["guest"]).ContainsItem( "name", "САМОСВАЛ КАМАЗ 55102") AssertThat(r.json()["result"]["guest"]).ContainsItem( "card_uid", "99296465799940")
def test_case_bunker_lvl(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="bunker_level", etype="value", evalue="81") with allure.step("Send GET request to the server"): # req = requests.get(TD.url83() + "/get/status") req = Get(TD.url83()).get.status.perf() with allure.step("LOGGER get info"): LOGGER.info(req.json()) LOGGER.info(req.status_code) with allure.step("Assert Contains Item"): with allure.step("bunker_level should have value 999"): AssertThat(req.json()["result"]["mechanization"]["bunker"]).ContainsItem("percentage", 81)
def test_send_gpsd_tpv(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="GPSD_TPV", etype="json", evalue=json.dumps({"class": "TPV", "time": "2020-03-31T04:50:20.10Z", "ept": 0.005, "lat": 46.498204497, "lon": 7.568061439, "alt": 1327.689, "epx": 15.319, "epy": 17.054, "epv": 124.484, "track": 10.3797, "speed": 0.091, "climb": -0.085, "eps": 34.11, "mode": 3})) with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("GPSD_TPV should be True"): AssertThat(r.json()["result"]["availability"]).ContainsItem("GPS", True)
def test_case_dg400(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="DG400", etype="json", evalue=json.dumps({ "net": 0.8, "units": "KG" })) with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("DG400 should have net 7891"): AssertThat( r.json()["result"]["mechanization"]["bunker"]).ContainsItem( "weight", 0.8)
def test_case_unloader_by_pass(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="RFID_1", etype="text", evalue="94594156156156") mqtt.req83(ename="unloader_bypass", etype="switch", evalue="1") # we wait state -3 in response with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("State should be -3"): AssertThat(r.json()["result"]).ContainsItem("state", -3) AssertThat( r.json()["result"]["mechanization"]["worm"]).ContainsItem( "bypass", True)
def test_guest_accept_unload(): device_id = "AC35EE26450B" mqtt.req83(ename="DEVICE_ID", etype="text", evalue=device_id) mqtt.req83(ename="RFID_1", etype="text", evalue="94594156156156") mqtt.req83(ename="RFID_2", etype="text", evalue="777") mqtt.req83(ename="bunker_level", etype="value", evalue="81") req = Post(TD.url83()).host.search.start_unload.perf() LOGGER.debug(r'\n*** host.search.start_unload :: ' + str(req.json())) mqtt.req83(ename="unloader_bypass", etype="switch", evalue="1") req = Get(TD.url83()).get.status.perf() LOGGER.debug(r'\n*** get.status ::' + str(req.json())) # state=-3, bypass=True req = Post(TD.url85()).guest.accept_unload.body(device_id=device_id).perf() mqtt.req85(ename="RFID_2", etype="text", evalue="777") LOGGER.debug(r'\n*** guest.accept_unload ::' + str(req.json()))
def test_guest_start_unload(): device_id = "AC35EE26450B" url = TD.url85() + '/guest/start_unload' body = {"device_id": device_id} mqtt.req83(ename="DEVICE_ID", etype="text", evalue=device_id) with allure.step("Начало выгрузки"): r = requests.post(TD.url85().guest.start.unload.perf(), json=body, headers=TD.headers()) LOGGER.debug(r.json()) LOGGER.debug(r.status_code) with allure.step("Assert status code is 200"): AssertThat(r.status_code).IsEqualTo(200) with allure.step('Validate schema'): pass
def test_case_bunker_lvl_sense(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="bunker_level_sens", etype="json", evalue=json.dumps({"1": True, "2": False, "3": False, "4": True, "5": False })) with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") # req = Get(TD.url83().get.status.perf()) with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("bunker_level_sens should have values True, False, False, True, False"): AssertThat(r.json()["result"]["mechanization"]["bunker"]).ContainsItem("sense", {"1": True, "2": False, "3": False, "4": True, "5": False })
def test_case_default_state(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="RFID_1", etype="text", evalue="94594156156156") mqtt.req83(ename="unloader_bypass", etype="switch", evalue="1") mqtt.req83(ename="RFID_2", etype="text", evalue="777") # we wait state 0 in response time.sleep(1) with allure.step("Send GET request to the server"): r = requests.get(TD.url83() + "/get/status") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("Assert Contains Item"): with allure.step("State should be -0"): AssertThat(r.json()["result"]).ContainsItem("state", 0)
def test_get_neighbors(): with allure.step("Send requests to the MQTT"): mqtt.req83(ename="DEVICE_ID", etype="text", evalue="AC35EE2644F0") mqtt.req83(ename="bunker_level", etype="value", evalue="999") mqtt.req83(ename="RFID_1", etype="text", evalue="94594156156156") time.sleep(2) with allure.step("Send request to the server"): r = requests.get(TD.url83() + "/get/neighbors") r85 = requests.get(TD.url85() + "/get/neighbors") with allure.step("LOGGER get info"): LOGGER.info(r.json()) LOGGER.info(r.status_code) with allure.step("LOGGER get info 85"): LOGGER.info(r85.json()) with allure.step("Assert status code is 200"): AssertThat(r.status_code).IsEqualTo(200) with allure.step("Assert contains items in json response"): AssertThat(r85.json()["result"]).ContainsKey("C010") AssertThat(r85.json()["result"]["C010"][0]).ContainsItem( "bunker_percentage", 999) AssertThat(r85.json()["result"]["C010"][0]["driver"]).ContainsItem( "fio", "Школенко Дмитрий Сергеевич")
def default_condition83(): with allure.step("Send requests to the MQTT83"): mqtt.req83(ename="RFID_2", etype="text", evalue="777") mqtt.req83(ename="RFID_1", etype="text", evalue="94594156156156") mqtt.req83(ename="SIRENA", etype="switch", evalue="0") mqtt.req83(ename="BUNKER_SAP_ID", etype="text", evalue="0") mqtt.req83(ename="DEVICE_ID", etype="text", evalue="0") mqtt.req83(ename="DG400", etype="json", evalue=json.dumps({ "net": 0, "units": "KG" })) mqtt.req83(ename="LAMP_1", etype="switch", evalue="0") mqtt.req83(ename="LAMP_2", etype="switch", evalue="0") mqtt.req83(ename="ModBUS_OK", etype="switch", evalue="0") mqtt.req83(ename="status_request", etype="switch", evalue="0") mqtt.req83(ename="bunker_level", etype="value", evalue="0") mqtt.req83(ename="bunker_level_sens", etype="json", evalue=json.dumps({ "1": False, "2": False, "3": False, "4": False, "5": False })) mqtt.req83(ename="loader_freq", etype="value", evalue="0") mqtt.req83(ename="loader_rotate", etype="switch", evalue="0") mqtt.req83(ename="unloader_arm", etype="switch", evalue="0") mqtt.req83(ename="unloader_bypass", etype="switch", evalue="0") mqtt.req83(ename="unloader_freq", etype="value", evalue="0") mqtt.req83(ename="unloader_rotate", etype="switch", evalue="0") time.sleep(1) mqtt.req83(ename="RFID_1", etype="text", evalue="No Card") mqtt.req83(ename="RFID_2", etype="text", evalue="No Card")