blob: 7e779420759e6c2afa66c8efcdc49755d103822a [file] [log] [blame]
#
# Copyright (c) 2023 Project CHIP Authors
#
# 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.
from .errors import TestStepError
class TestParserHooks():
def start(self, count: int):
"""
This method is called when the parser starts parsing a set of files.
Parameters
----------
count: int
The number of files that will be parsed.
"""
pass
def stop(self, duration: int):
"""
This method is called when the parser is done parsing a set of files.
Parameters
----------
duration: int
How long it took to parse the set of files, in milliseconds.
"""
pass
def test_start(self, name: str):
"""
This method is called when the parser starts parsing a single file.
Parameters
----------
name: str
The name of the file that will be parsed.
"""
pass
def test_failure(self, exception: TestStepError, duration: int):
"""
This method is called when parsing a single file fails.
Parameters
----------
exception: TestStepError
An exception describing why parsing the file has failed.
duration: int
How long it took to parse the file, in milliseconds.
"""
pass
def test_success(self, duration: int):
"""
This method is called when parsing a single file succeeds.
Parameters
----------
duration: int
How long it took to parse the file, in milliseconds.
"""
pass
class TestRunnerHooks():
def start(self, count: int):
"""
This method is called when the runner starts running a set of tests.
Parameters
----------
count: int
The number of files that will be run.
"""
pass
def stop(self, duration: int):
"""
This method is called when the runner is done running a set of tests.
Parameters
----------
duration: int
How long it took to run the set of tests, in milliseconds.
"""
pass
def test_start(self, filename: str, name: str, count: int):
"""
This method is called when the runner starts running a single test.
Parameters
----------
filename: str
The name of the file containing the test that is starting.
name: str
The name of the test that is starting.
count: int
The number of steps from the test that will be run.
"""
pass
def test_stop(self, exception: Exception, duration: int):
"""
This method is called when the runner is done running a single test.
Parameters
----------
exception: Exception
An optional exception describing why running the test has failed.
duration: int
How long it took to run the test, in milliseconds.
"""
pass
def step_skipped(self, name: str, expression: str):
"""
This method is called when running a step is skipped.
Parameters
----------
name: str
The name of the test step that is skipped.
expression: str
The PICS expression that results in the test step being skipped.
"""
pass
def step_start(self, name: str):
"""
This method is called when the runner starts running a step from the test.
Parameters
----------
name: str
The name of the test step that is starting.
"""
pass
def step_success(self, logger, logs, duration: int, request):
"""
This method is called when running a step succeeds.
Parameters
----------
logger:
An object containing details about the different checks against the response.
logs:
Optional logs from the adapter.
duration: int
How long it took to run the test step, in milliseconds.
request:
The original request as defined by the test step.
"""
pass
def step_failure(self, logger, logs, duration: int, request, received):
"""
This method is called when running a step fails.
Parameters
----------
logger:
An object containing details about the different checks against the response.
logs:
Optional logs from the adapter.
duration: int
How long it took to run the test step, in milliseconds.
request:
The original request as defined by the test step.
received:
The received response.
"""
pass
def step_unknown(self):
"""
This method is called when the result of running a step is unknown. For example during a dry-run.
"""
pass
class WebSocketRunnerHooks():
def connecting(self, url: str):
"""
This method is called when the websocket is attempting to connect to a remote.
Parameters
----------
url: str
The url the websocket is trying to connect to.
"""
pass
def abort(self, url: str):
"""
This method is called when the websocket connection fails and will not be retried.
Parameters
----------
url: str
The url the websocket has failed to connect to.
"""
pass
def success(self, duration: int):
"""
This method is called when the websocket connection is established.
Parameters
----------
duration: int
How long it took to connect since the last retry, in milliseconds.
"""
pass
def failure(self, duration: int):
"""
This method is called when the websocket connection fails and will be retried.
Parameters
----------
duration: int
How long it took to fail since the last retry, in milliseconds.
"""
pass
def retry(self, interval_between_retries_in_seconds: int):
"""
This method is called when the websocket connection will be retried in the given interval.
Parameters
----------
interval_between_retries_in_seconds: int
How long we will wait before retrying to connect, in seconds.
"""
pass