![](/media/cache/profiles/tempsnip.png.50x50_q85.jpg)
Mbed OS example of Pelion device management LGUPlus Client
TESTS/register_and_read_id.py@2:34933ca5af82, 2020-02-21 (annotated)
- Committer:
- pimco01
- Date:
- Fri Feb 21 19:27:19 2020 +0000
- Revision:
- 2:34933ca5af82
- Parent:
- 0:9f917a7bf2da
main.cpp, app.json modify
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MACRUM | 0:9f917a7bf2da | 1 | """ |
MACRUM | 0:9f917a7bf2da | 2 | Copyright 2019 ARM Limited |
MACRUM | 0:9f917a7bf2da | 3 | Licensed under the Apache License, Version 2.0 (the "License"); |
MACRUM | 0:9f917a7bf2da | 4 | you may not use this file except in compliance with the License. |
MACRUM | 0:9f917a7bf2da | 5 | You may obtain a copy of the License at |
MACRUM | 0:9f917a7bf2da | 6 | |
MACRUM | 0:9f917a7bf2da | 7 | http://www.apache.org/licenses/LICENSE-2.0 |
MACRUM | 0:9f917a7bf2da | 8 | |
MACRUM | 0:9f917a7bf2da | 9 | Unless required by applicable law or agreed to in writing, software |
MACRUM | 0:9f917a7bf2da | 10 | distributed under the License is distributed on an "AS IS" BASIS, |
MACRUM | 0:9f917a7bf2da | 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
MACRUM | 0:9f917a7bf2da | 12 | See the License for the specific language governing permissions and |
MACRUM | 0:9f917a7bf2da | 13 | limitations under the License. |
MACRUM | 0:9f917a7bf2da | 14 | """ |
MACRUM | 0:9f917a7bf2da | 15 | |
MACRUM | 0:9f917a7bf2da | 16 | # pylint: disable=missing-docstring,useless-super-delegation |
MACRUM | 0:9f917a7bf2da | 17 | # pylint: disable=method-hidden,relative-import |
MACRUM | 0:9f917a7bf2da | 18 | |
MACRUM | 0:9f917a7bf2da | 19 | import time |
MACRUM | 0:9f917a7bf2da | 20 | import json |
MACRUM | 0:9f917a7bf2da | 21 | from pelion_helper import PelionBase |
MACRUM | 0:9f917a7bf2da | 22 | |
MACRUM | 0:9f917a7bf2da | 23 | |
MACRUM | 0:9f917a7bf2da | 24 | class Testcase(PelionBase): |
MACRUM | 0:9f917a7bf2da | 25 | def __init__(self): |
MACRUM | 0:9f917a7bf2da | 26 | PelionBase.__init__(self, |
MACRUM | 0:9f917a7bf2da | 27 | name="register_and_read_id", |
MACRUM | 0:9f917a7bf2da | 28 | title="Example application can register and prints out its device ID", |
MACRUM | 0:9f917a7bf2da | 29 | status="released", |
MACRUM | 0:9f917a7bf2da | 30 | type="acceptance", |
MACRUM | 0:9f917a7bf2da | 31 | component=["mbed_cloud_client_example"], |
MACRUM | 0:9f917a7bf2da | 32 | requirements={ |
MACRUM | 0:9f917a7bf2da | 33 | "duts": { # default requirements for all nodes |
MACRUM | 0:9f917a7bf2da | 34 | '*': { |
MACRUM | 0:9f917a7bf2da | 35 | "count": 1, |
MACRUM | 0:9f917a7bf2da | 36 | "type": "hardware", |
MACRUM | 0:9f917a7bf2da | 37 | "application": { |
MACRUM | 0:9f917a7bf2da | 38 | "init_cli_cmds": [], |
MACRUM | 0:9f917a7bf2da | 39 | "post_cli_cmds": [] |
MACRUM | 0:9f917a7bf2da | 40 | } |
MACRUM | 0:9f917a7bf2da | 41 | } |
MACRUM | 0:9f917a7bf2da | 42 | } |
MACRUM | 0:9f917a7bf2da | 43 | }) |
MACRUM | 0:9f917a7bf2da | 44 | |
MACRUM | 0:9f917a7bf2da | 45 | def setup(self): |
MACRUM | 0:9f917a7bf2da | 46 | super(Testcase, self).setup() |
MACRUM | 0:9f917a7bf2da | 47 | self.__timeout = 120 |
MACRUM | 0:9f917a7bf2da | 48 | self.__endtime = time.time() + self.__timeout |
MACRUM | 0:9f917a7bf2da | 49 | |
MACRUM | 0:9f917a7bf2da | 50 | |
MACRUM | 0:9f917a7bf2da | 51 | def case(self): |
MACRUM | 0:9f917a7bf2da | 52 | |
MACRUM | 0:9f917a7bf2da | 53 | while True: |
MACRUM | 0:9f917a7bf2da | 54 | try: |
MACRUM | 0:9f917a7bf2da | 55 | self.verify_trace(1, ['Device ID'], True) |
MACRUM | 0:9f917a7bf2da | 56 | break |
MACRUM | 0:9f917a7bf2da | 57 | except: |
MACRUM | 0:9f917a7bf2da | 58 | if time.time() > self.__endtime: |
MACRUM | 0:9f917a7bf2da | 59 | raise TestStepFail('Timeout: Did not find Endpoint Name within %d seconds' % self.__timeout) |
MACRUM | 0:9f917a7bf2da | 60 | else: |
MACRUM | 0:9f917a7bf2da | 61 | pass |
MACRUM | 0:9f917a7bf2da | 62 | |
MACRUM | 0:9f917a7bf2da | 63 | # Get the endpoint from the logs |
MACRUM | 0:9f917a7bf2da | 64 | self.logger.info("Reading device ID from console.") |
MACRUM | 0:9f917a7bf2da | 65 | dev_id_raw = "" |
MACRUM | 0:9f917a7bf2da | 66 | dev_id_raw = list(filter(lambda x: "Device ID" in x, self.duts[0].traces)) |
MACRUM | 0:9f917a7bf2da | 67 | device_id = dev_id_raw[0].split()[2] |
MACRUM | 0:9f917a7bf2da | 68 | self.logger.info("Writing Device ID %s to pelion.tc_cfg", device_id) |
MACRUM | 0:9f917a7bf2da | 69 | # Store the Device ID to pelion.tc_cfg |
MACRUM | 0:9f917a7bf2da | 70 | with open("TESTS/pelion.tc_cfg") as stream: |
MACRUM | 0:9f917a7bf2da | 71 | data = json.load(stream) |
MACRUM | 0:9f917a7bf2da | 72 | data["device_id"] = device_id |
MACRUM | 0:9f917a7bf2da | 73 | |
MACRUM | 0:9f917a7bf2da | 74 | with open("TESTS/pelion.tc_cfg", 'w') as stream: |
MACRUM | 0:9f917a7bf2da | 75 | json.dump(data, stream) |
MACRUM | 0:9f917a7bf2da | 76 | |
MACRUM | 0:9f917a7bf2da | 77 | self.verify_registration("registered") |
MACRUM | 0:9f917a7bf2da | 78 | |
MACRUM | 0:9f917a7bf2da | 79 | def teardown(self): |
MACRUM | 0:9f917a7bf2da | 80 | self.connect_api.stop_notifications() |