dbnl.experimental
create_test
dbnl.experimental.create_test(*, test_spec_dict: TestSpecDict) → dict[str, Any]Create a new Test Spec
Parameters:test_spec_dict – A dictionary containing the Test Spec schema.
Raises:
DBNLNotLoggedInError – dbnl SDK is not logged in.
DBNLAPIValidationError – Test Spec does not conform to expected format.
DBNLDuplicateError – Test Spec with the same name already exists in the Project.
Returns: The JSON dict of the created Test Spec object. The return JSON will contain the id of the Test Spec.
Test Spec JSON Structure
{
"project_id": string,
# Test data
"name": string, // must be unique to Project
"description": string | null,
"statistic_name": string,
"statistic_params": map[string, any],
"statistic_inputs": list[
{
"select_query_template": {
"select": string, // a column or a function on column(s)
"filter": string | null
}
}
],
"assertion": {
"name": string,
"params": map[string, any]
},
"tag_ids": string[] | null
}get_or_create_tag
Get the specified Test Tag or create a new one if it does not exist
Parameters:
project_id – The id of the Project that this Test Tag is associated with.
name – The name of the Test Tag to create or retrieve.
description – An optional description of the Test Tag. Limited to 255 characters.
Returns: The dictionary containing the Test Tag
Raises:DBNLNotLoggedInError – dbnl SDK is not logged in.
Sample Test Tag JSON
get_test_sessions
Get all Test Sessions in the given Project
Parameters:project – Project from which to retrieve Test Sessions
Returns: List of Test Sessions
Raises:DBNLNotLoggedInError – dbnl SDK is not logged in.
get_tests
Get all Tests executed in the given Test Session
Parameters:test_session_id – Test Session ID
Returns: List of test JSONs
Raises:DBNLNotLoggedInError – dbnl SDK is not logged in.
Sample Test JSON
prepare_incomplete_test_spec_payload
Formats a Test Spec payload for the API. Add project_id if it is not present. Replace tag_names with tag_ids.
Parameters:
test_spec_dict – A dictionary containing the Test Spec schema.
project_id – The Project ID, defaults to None. If project_id does not exist in test_spec_dict, it is required as an argument.
Raises:DBNLInputValidationError – Input does not conform to expected format
Returns: The dictionary containing the newly formatted Test Spec payload.
wait_for_test_session
Wait for a Test Session to finish. Polls every 3 seconds until it is completed.
Parameters:
test_session – The TestSession to wait for
timeout_s – The total wait time (in seconds) for Test Session to complete, defaults to 180.
Returns: The completed TestSession
Raises:
DBNLNotLoggedInError – dbnl SDK is not logged in.
DBNLError – Test Session did not complete after waiting for the timeout_s seconds
Was this helpful?

