15ba71b47Sopenharmony_ci#!/usr/bin/env python3
25ba71b47Sopenharmony_ci#-*- coding: utf-8 -*-
35ba71b47Sopenharmony_ci
45ba71b47Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
55ba71b47Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
65ba71b47Sopenharmony_ci# you may not use this file except in compliance with the License.
75ba71b47Sopenharmony_ci# You may obtain a copy of the License at
85ba71b47Sopenharmony_ci#
95ba71b47Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
105ba71b47Sopenharmony_ci#
115ba71b47Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
125ba71b47Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
135ba71b47Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145ba71b47Sopenharmony_ci# See the License for the specific language governing permissions and
155ba71b47Sopenharmony_ci# limitations under the License.
165ba71b47Sopenharmony_ci
175ba71b47Sopenharmony_ciimport os.path
185ba71b47Sopenharmony_ciimport time
195ba71b47Sopenharmony_cifrom devicetest.core.test_case import TestCase, Step, CheckPoint, get_report_dir
205ba71b47Sopenharmony_cifrom hypium import UiDriver
215ba71b47Sopenharmony_ciimport tools.disk_drop_log
225ba71b47Sopenharmony_cifrom tools.get_source_path import get_source_path
235ba71b47Sopenharmony_cifrom tools.push_remove_source import push_source, remove_source
245ba71b47Sopenharmony_ci
255ba71b47Sopenharmony_ci
265ba71b47Sopenharmony_ciclass case24_sub001(TestCase):
275ba71b47Sopenharmony_ci
285ba71b47Sopenharmony_ci    def __init__(self, configs):
295ba71b47Sopenharmony_ci        self.TAG = self.__class__.__name__
305ba71b47Sopenharmony_ci        TestCase.__init__(self, self.TAG, configs)
315ba71b47Sopenharmony_ci        self.tests = [
325ba71b47Sopenharmony_ci            "test_step"
335ba71b47Sopenharmony_ci        ]
345ba71b47Sopenharmony_ci        self.driver = UiDriver(self.device1)
355ba71b47Sopenharmony_ci        self.sn = self.device1.device_sn
365ba71b47Sopenharmony_ci        self.source_path = {}
375ba71b47Sopenharmony_ci
385ba71b47Sopenharmony_ci    def setup(self):
395ba71b47Sopenharmony_ci        self.log.info("case24_sub001 start")
405ba71b47Sopenharmony_ci        need_source = {"cfg": True, "fwk": True, "listen_test": True, "audio_ability": True, "ondemand": True,
415ba71b47Sopenharmony_ci                       "proxy": True, "para": False}
425ba71b47Sopenharmony_ci        self.source_path = get_source_path(need_source=need_source, casename="level0/case24_sub001")
435ba71b47Sopenharmony_ci        push_source(source_path=self.source_path, driver=self.driver, sn=self.sn)
445ba71b47Sopenharmony_ci
455ba71b47Sopenharmony_ci    def test_step(self):
465ba71b47Sopenharmony_ci        driver = self.driver
475ba71b47Sopenharmony_ci        result = driver.System.execute_command("hidumper -ls")
485ba71b47Sopenharmony_ci        max_wait_time = 5
495ba71b47Sopenharmony_ci        wait_time = 0
505ba71b47Sopenharmony_ci        while ("1494" not in result and wait_time <= max_wait_time):
515ba71b47Sopenharmony_ci            wait_time += 1
525ba71b47Sopenharmony_ci            time.sleep(1)
535ba71b47Sopenharmony_ci            result = driver.System.execute_command("hidumper -ls")
545ba71b47Sopenharmony_ci        CheckPoint("1494 is loaded after booting up")
555ba71b47Sopenharmony_ci        assert "1494" in result
565ba71b47Sopenharmony_ci
575ba71b47Sopenharmony_ci        log_revice_path = os.path.join(self.get_case_report_path(), "disk_drop")
585ba71b47Sopenharmony_ci        tools.disk_drop_log.pulling_disk_dropping_logs(log_revice_path, self.sn)
595ba71b47Sopenharmony_ci        tools.disk_drop_log.parse_disk_dropping_logs(log_revice_path)
605ba71b47Sopenharmony_ci        result = tools.disk_drop_log.check_disk_dropping_logs(log_revice_path,
615ba71b47Sopenharmony_ci                                                              "OnAddSystemAbility systemAbilityId:1901 added!")
625ba71b47Sopenharmony_ci        CheckPoint("The log contains 'ListenAbility: OnAddSystemAbility systemAbilityId:1901 added!'")
635ba71b47Sopenharmony_ci        assert result is True
645ba71b47Sopenharmony_ci        result = tools.disk_drop_log.check_disk_dropping_logs(log_revice_path,
655ba71b47Sopenharmony_ci                                                              "OnAddSystemAbility systemAbilityId:4700 added!")
665ba71b47Sopenharmony_ci        CheckPoint("The log contains 'ListenAbility: OnAddSystemAbility systemAbilityId:4700 added!'")
675ba71b47Sopenharmony_ci        assert result is True
685ba71b47Sopenharmony_ci
695ba71b47Sopenharmony_ci    def teardown(self):
705ba71b47Sopenharmony_ci        self.driver.Screen.close()
715ba71b47Sopenharmony_ci        remove_source(source_path=self.source_path, driver=self.driver, sn=self.sn)
725ba71b47Sopenharmony_ci        self.log.info("case24_sub001 down")
73