CI API Coverage
This document tracks the CI coverage for each of our public APIs. The intent to make it clear what is "sufficiently tested", and what needs further effort. This list is manually updated, so we'll need to show discipline in ensuring that we update it as we change APIs or CI.
For this document we use the python API client as a model of what to cover, as its simpler to extract a list of calls from than the API implementation itself. We list whether we have CI which calls the API directly, CI which uses the python command line client to call the API, or both. The gold standard is both.
get_instances
Whilst being implied by every test tearDown(), this call is explicitly used in:
- TestCirros.test_cirros_boot_no_network
- TestCirros.test_cirros_boot_network
- TestPlacement.test_local_placement_works
- TestPlacement.test_remote_placement_works
- TestSystemNamespace.test_system_namespace
- TestUbuntu.test_ubuntu_pings
delete_all_instances
Not tested.
get_instance
All callers of await_instance_event call get_instance(). However, these more explicit tests exist as well:
- TestCacheImage.test_instance_invalid_image
get_instance_interfaces
- TestMultipleNics.test_simple
- TestNetworking.test_virtual_networks_are_separate
- TestNetworking.test_overlapping_virtual_networks_are_separate
- TestNetworking.test_single_virtal_networks_work
- TestNetworking.test_specific_ip_request
- TestPlacement.test_local_placement_works
- TestPlacement.test_remote_placement_works
- TestStateChanges.test_lifecycle_events
- TestUbuntu.test_ubuntu_pings
get_instance_metadata
- TestInstanceMetadata.test_simple
set_instance_metadata_item
- TestInstanceMetadata.test_simple
delete_instance_metadata_item
Not tested.
create_instance
Tested extensively in most other tests, so tests are not listed here.
snapshot_instance
- TestSnapshots.test_single_disk_snapshots
- TestSnapshots.test_multiple_disk_snapshots
get_instance_snapshots
- TestSnapshots.test_single_disk_snapshots
- TestSnapshots.test_multiple_disk_snapshots
reboot_instance
- TestStateChanges.test_lifecycle_events
power_off_instance
- TestStateChanges.test_lifecycle_events
power_on_instance
- TestStateChanges.test_lifecycle_events
pause_instance
- TestStateChanges.test_lifecycle_events
unpause_instance
- TestStateChanges.test_lifecycle_events
delete_instance
Whilst being implied by every test tearDown(), this call is explicitly used in:
- TestCirros.test_cirros_boot_no_network
- TestCirros.test_cirros_boot_network
- TestPlacement.test_local_placement_works
- TestPlacement.test_remote_placement_works
- TestSnapshots.test_single_disk_snapshots
- TestSnapshots.test_multiple_disk_snapshots
- TestSystemNamespace.test_system_namespace
- TestUbuntu.test_ubuntu_pings
get_instance_events
All callers of await_instance_event call get_instance(). However, more testing of this method is required.
cache_image
- TestImages.test_cache_image
get_images
(Formerly get_image_meta, old name to be removed in 0.5).
- TestImages.test_cache_image
get_image_events
Not tested.
get_networks
Whilst being implied by every test tearDown(), this call is explicitly used in:
- TestSystemNamespace.test_system_namespace
get_network
Not tested.
delete_network
Whilst being implied by every test tearDown(), this call is explicitly used in:
- TestSystemNamespace.test_system_namespace
delete_all_networks
Not tested.
get_network_events
Not tested.
allocate_network
Tested extensively in most other tests, so tests are not listed here.
get_network_interfaces
Not tested.
get_network_metadata
Not tested.
set_network_metadata_item
Not tested.
delete_network_metadata_item
Not tested.
get_nodes
Not tested.
get_interface
Not tested.
float_interface
Not tested.
defloat_interface
Not tested.
get_console_data
- TestConsoleLog.test_console_log
get_namespaces
As well as being tested as a side effect of most other tests, there is the following explicit test:
- TestAuth.test_namespaces
create_namespace
As well as being tested as a side effect of most other tests, there is the following explicit test:
- TestAuth.test_namespaces
delete_namespace
As well as being tested as a side effect of most other tests, there is the following explicit test:
- TestAuth.test_namespaces
get_namespace_keynames
Not tested.
add_namespace_key
- TestAuth.test_namespaces
delete_namespace_key
- TestAuth.test_namespaces
get_namespace_metadata
Not tested.
set_namespace_metadata_item
Not tested.
delete_namespace_metadata_item
Not tested.
get_existing_locks
Not tested.
ping
Tested as a side effect of many other tests, but no explicit test.