1# Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http:#www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15""" example of writing test with TinyTestFW """ 16import re 17 18import ttfw_idf 19from tiny_test_fw import TinyFW 20 21 22@ttfw_idf.idf_example_test(env_tag='Example_WIFI') 23def test_examples_protocol_https_request(env, extra_data): 24 """ 25 steps: | 26 1. join AP 27 2. connect to www.howsmyssl.com:443 28 3. send http request 29 """ 30 dut1 = env.get_dut('https_request', 'examples/protocols/https_request', dut_class=ttfw_idf.ESP32DUT) 31 dut1.start_app() 32 dut1.expect(re.compile(r'Connecting to www.howsmyssl.com:443'), timeout=30) 33 dut1.expect('Performing the SSL/TLS handshake') 34 dut1.expect('Certificate verified.', timeout=15) 35 dut1.expect_all(re.compile(r'Cipher suite is TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256'), 36 'Reading HTTP response', 37 timeout=20) 38 dut1.expect(re.compile(r'Completed (\d) requests')) 39 40 41if __name__ == '__main__': 42 TinyFW.set_default_config(env_config_file='EnvConfigTemplate.yml', dut=ttfw_idf.IDFDUT) 43 test_examples_protocol_https_request() 44