Mbed OS example of Pelion device management LGUPlus Client

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?

UserRevisionLine numberNew 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()