~aleteoryx/muditaos

ref: b96313b158315c32760c24e62c12514acd5b72b8 muditaos/test/service-desktop-test/tests/messages.py -rw-r--r-- 2.6 KiB
b96313b1 — Radoslaw Wicik [EGD-4215] Convert service-bluetooth to library 5 years ago
                                                                                
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
# Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

from interface.defs import *
from test import *


class MessageTest:
    def __init__(self, serial):
        self.serial = serial.get_serial()

    def run(self):
        # get messages count
        msg, result_msg = prepare_message(endpoint["messages"], method["get"], status["OK"], {"count": True})
        test = Test(self.serial, msg, result_msg)
        ret, result = test.execute()
        count = result['count']
        if count == 0:
            print("count = 0!")
            return False

        # get all messages
        msg, result_msg = prepare_message(endpoint["messages"], method["get"], status["OK"], {"count": count})
        test = Test(self.serial, msg, result_msg)
        ret, result = test.execute()
        records_length = len(result)
        if records_length != count:
            print("received record count mismatch!")
            return False

        # remove message
        sms_to_remove = result[0]
        msg, result_msg = prepare_message(endpoint["messages"], method["del"], status["OK"],
                                          {"id": sms_to_remove["id"]}, None)
        test = Test(self.serial, msg, result_msg)
        ret, result = test.execute()
        if ret == False:
            return ret

        # check if the message was removed
        msg, result_msg = prepare_message(endpoint["messages"], method["get"], status["OK"], {"count": count})
        test = Test(self.serial, msg, result_msg)
        ret, result = test.execute()
        for message in result:
            if message["id"] == sms_to_remove["id"]:
                print("contact still exists!")
                return False

        # get messages binded to contactID
        contact_id = 2
        msg, result_msg = prepare_message(endpoint["messages"], method["get"], status["OK"], {"contactID": contact_id})
        test = Test(self.serial, msg, result_msg)
        ret, result = test.execute()
        for message in result:
            if message["contactID"] != contact_id:
                print("wrong contactID!")
                return False

        thread_id = 1
        msg, result_msg = prepare_message(endpoint["messages"], method["get"], status["OK"],
                                          {"threadID": thread_id, "count": 10})
        test = Test(self.serial, msg, result_msg)
        ret, result = test.execute()
        for message in result:
            if message["threadID"] != thread_id:
                print("wrong threadID!")
                return False

        return True