CodeZoo co., ltd
/
mbed-os-example-pelion-CATM1
Mbed OS example of Pelion device management LGUPlus Client
Diff: TESTS/register_and_read_id.py
- Revision:
- 0:9f917a7bf2da
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TESTS/register_and_read_id.py Thu Dec 12 10:26:06 2019 +0900 @@ -0,0 +1,80 @@ +""" +Copyright 2019 ARM Limited +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. +""" + +# pylint: disable=missing-docstring,useless-super-delegation +# pylint: disable=method-hidden,relative-import + +import time +import json +from pelion_helper import PelionBase + + +class Testcase(PelionBase): + def __init__(self): + PelionBase.__init__(self, + name="register_and_read_id", + title="Example application can register and prints out its device ID", + status="released", + type="acceptance", + component=["mbed_cloud_client_example"], + requirements={ + "duts": { # default requirements for all nodes + '*': { + "count": 1, + "type": "hardware", + "application": { + "init_cli_cmds": [], + "post_cli_cmds": [] + } + } + } + }) + + def setup(self): + super(Testcase, self).setup() + self.__timeout = 120 + self.__endtime = time.time() + self.__timeout + + + def case(self): + + while True: + try: + self.verify_trace(1, ['Device ID'], True) + break + except: + if time.time() > self.__endtime: + raise TestStepFail('Timeout: Did not find Endpoint Name within %d seconds' % self.__timeout) + else: + pass + + # Get the endpoint from the logs + self.logger.info("Reading device ID from console.") + dev_id_raw = "" + dev_id_raw = list(filter(lambda x: "Device ID" in x, self.duts[0].traces)) + device_id = dev_id_raw[0].split()[2] + self.logger.info("Writing Device ID %s to pelion.tc_cfg", device_id) + # Store the Device ID to pelion.tc_cfg + with open("TESTS/pelion.tc_cfg") as stream: + data = json.load(stream) + data["device_id"] = device_id + + with open("TESTS/pelion.tc_cfg", 'w') as stream: + json.dump(data, stream) + + self.verify_registration("registered") + + def teardown(self): + self.connect_api.stop_notifications()