SatelliteQE / nailgun

Why use a hammer when you can use a nailgun.
GNU General Public License v3.0
46 stars 83 forks source link

Check for path updates #274

Open elyezer opened 8 years ago

elyezer commented 8 years ago

I'm working on making the Robottelo end to end tests updated and needed to edit the paths like the diff below. I'm opening this issue to register the changes I did and to make easy to identify possible updates on NailGun code.

diff --git a/tests/foreman/endtoend/test_api_endtoend.py b/tests/foreman/endtoend/test_api_endtoend.py
index 7c56762..6c33f1f 100644
--- a/tests/foreman/endtoend/test_api_endtoend.py
+++ b/tests/foreman/endtoend/test_api_endtoend.py
@@ -44,6 +44,7 @@ API_PATHS = {
         u'/katello/api/activation_keys/:id/product_content',
         u'/katello/api/activation_keys/:id/releases',
         u'/katello/api/activation_keys/:id/remove_subscriptions',
+        u'/katello/api/activation_keys/:id/subscriptions',
     ),
     u'api': (),
     u'architectures': (
@@ -53,9 +54,6 @@ API_PATHS = {
         u'/api/architectures/:id',
         u'/api/architectures/:id',
     ),
-    u'arf_reports': (
-        u'/api/arf/:cname/:policy_id/:date',
-    ),
     u'audits': (
         u'/api/audits',
         u'/api/audits/:id',
@@ -66,6 +64,7 @@ API_PATHS = {
         u'/api/auth_source_ldaps/:id',
         u'/api/auth_source_ldaps/:id',
         u'/api/auth_source_ldaps/:id',
+        u'/api/auth_source_ldaps/:id/test',
     ),
     u'autosign': (
         u'/api/smart_proxies/smart_proxy_id/autosign',
@@ -87,6 +86,8 @@ API_PATHS = {
         u'/katello/api/capsules/:id/content/lifecycle_environments',
         u'/katello/api/capsules/:id/content/lifecycle_environments/:environment_id',
         u'/katello/api/capsules/:id/content/sync',
+        u'/katello/api/capsules/:id/content/sync',
+        u'/katello/api/capsules/:id/content/sync',
     ),
     u'capsules': (
         u'/katello/api/capsules',
@@ -119,10 +120,14 @@ API_PATHS = {
         u'/api/compute_resources/:id/associate',
         u'/api/compute_resources/:id/available_clusters',
         u'/api/compute_resources/:id/available_clusters/:cluster_id/available_resource_pools',
+        u'/api/compute_resources/:id/available_flavors',
         u'/api/compute_resources/:id/available_folders',
         u'/api/compute_resources/:id/available_images',
         u'/api/compute_resources/:id/available_networks',
+        u'/api/compute_resources/:id/available_security_groups',
         u'/api/compute_resources/:id/available_storage_domains',
+        u'/api/compute_resources/:id/available_storage_pods',
+        u'/api/compute_resources/:id/available_zones',
     ),
     u'config_groups': (
         u'/api/config_groups',
@@ -131,13 +136,22 @@ API_PATHS = {
         u'/api/config_groups/:id',
         u'/api/config_groups/:id',
     ),
+    u'config_reports': (
+        u'/api/config_reports',
+        u'/api/config_reports',
+        u'/api/config_reports/:id',
+        u'/api/config_reports/:id',
+        u'/api/hosts/:host_id/config_reports/last',
+
+    ),
     u'config_templates': (
         u'/api/config_templates',
         u'/api/config_templates',
-        u'/api/config_templates/build_pxe_default',
         u'/api/config_templates/:id',
         u'/api/config_templates/:id',
         u'/api/config_templates/:id',
+        u'/api/config_templates/:id/clone',
+        u'/api/config_templates/build_pxe_default',
     ),
     u'content_uploads': (
         u'/katello/api/repositories/:repository_id/content_uploads',
@@ -157,8 +171,6 @@ API_PATHS = {
         u'/katello/api/content_views/:content_view_id/filters/:id',
         u'/katello/api/content_views/:content_view_id/filters/:id',
         u'/katello/api/content_views/:content_view_id/filters/:id',
-        u'/katello/api/content_views/:content_view_id/filters/:id/available_errata',
-        u'/katello/api/content_views/:content_view_id/filters/:id/available_package_groups',
     ),
     u'content_view_puppet_modules': (
         u'/katello/api/content_views/:content_view_id/content_view_puppet_modules',
@@ -175,7 +187,6 @@ API_PATHS = {
         u'/katello/api/content_views/:id/available_puppet_modules',
         u'/katello/api/content_views/:id/copy',
         u'/katello/api/content_views/:id/environments/:environment_id',
-        u'/katello/api/content_views/:id/history',
         u'/katello/api/content_views/:id/publish',
         u'/katello/api/content_views/:id/remove',
         u'/katello/api/organizations/:organization_id/content_views',
@@ -194,10 +205,14 @@ API_PATHS = {
         u'/katello/api/content_reports/system_status',
         u'/katello/api/content_reports/system_trend',
     ),
+    u'content_view_histories': (
+        u'/katello/api/content_views/:id/history',
+    ),
     u'content_view_versions': (
         u'/katello/api/content_view_versions',
         u'/katello/api/content_view_versions/:id',
         u'/katello/api/content_view_versions/:id',
+        u'/katello/api/content_view_versions/:id/export',
         u'/katello/api/content_view_versions/:id/promote',
         u'/katello/api/content_view_versions/incremental_update',
     ),
@@ -207,14 +222,15 @@ API_PATHS = {
     u'discovered_hosts': (
         u'/api/v2/discovered_hosts',
         u'/api/v2/discovered_hosts',
-        u'/api/v2/discovered_hosts/auto_provision_all',
-        u'/api/v2/discovered_hosts/facts',
         u'/api/v2/discovered_hosts/:id',
         u'/api/v2/discovered_hosts/:id',
         u'/api/v2/discovered_hosts/:id',
         u'/api/v2/discovered_hosts/:id/auto_provision',
         u'/api/v2/discovered_hosts/:id/reboot',
         u'/api/v2/discovered_hosts/:id/refresh_facts',
+        u'/api/v2/discovered_hosts/auto_provision_all',
+        u'/api/v2/discovered_hosts/facts',
+        u'/api/v2/discovered_hosts/reboot_all',
     ),
     u'discovery_rules': (
         u'/api/v2/discovery_rules',
@@ -228,16 +244,12 @@ API_PATHS = {
         u'/bootdisk/api/generic',
         u'/bootdisk/api/hosts/:host_id',
     ),
-    u'distributions': (
-        u'/katello/api/repositories/:repository_id/distributions',
-        u'/katello/api/repositories/:repository_id/distributions/:id',
-    ),
-    u'docker_images': (
-        u'/katello/api/docker_images',
-        u'/katello/api/docker_images/:id',
+    u'docker_manifests': (
+        u'/katello/api/compare',
+        u'/katello/api/docker_manifests/:id',
     ),
     u'docker_tags': (
-        u'/katello/api/docker_tags',
+        u'/katello/api/compare',
         u'/katello/api/docker_tags/:id',
     ),
     u'domains': (
@@ -256,8 +268,7 @@ API_PATHS = {
         u'/api/smart_proxies/:id/import_puppetclasses',
     ),
     u'errata': (
-        u'/katello/api/errata',
-        u'/katello/api/errata/compare',
+        u'/katello/api/compare',
         u'/katello/api/errata/:id',
     ),
     u'external_usergroups': (
@@ -278,11 +289,40 @@ API_PATHS = {
         u'/api/filters/:id',
         u'/api/filters/:id',
     ),
+    u'foreign_input_sets': (
+        '/api/templates/:template_id/foreign_input_sets',
+        '/api/templates/:template_id/foreign_input_sets',
+        '/api/templates/:template_id/foreign_input_sets/:id',
+        '/api/templates/:template_id/foreign_input_sets/:id',
+        '/api/templates/:template_id/foreign_input_sets/:id',
+    ),
+    u'foreman_openscap_arf_reports': (
+        u'/api/v2/compliance/arf/:cname/:policy_id/:date',
+        u'/api/v2/compliance/arf_reports',
+        u'/api/v2/compliance/arf_reports/:id',
+        u'/api/v2/compliance/arf_reports/:id',
+    ),
+    u'foreman_openscap_policies': (
+        u'/api/v2/compliance/policies',
+        u'/api/v2/compliance/policies',
+        u'/api/v2/compliance/policies/:id',
+        u'/api/v2/compliance/policies/:id',
+        u'/api/v2/compliance/policies/:id',
+        u'/api/v2/compliance/policies/:id/content',
+    ),
+    u'foreman_openscap_scap_contents': (
+        u'/api/v2/compliance/scap_contents',
+        u'/api/v2/compliance/scap_contents',
+        u'/api/v2/compliance/scap_contents/:id',
+        u'/api/v2/compliance/scap_contents/:id',
+        u'/api/v2/compliance/scap_contents/:id',
+    ),
     u'foreman_tasks': (
         u'/foreman_tasks/api/tasks',
         u'/foreman_tasks/api/tasks/:id',
         u'/foreman_tasks/api/tasks/bulk_resume',
         u'/foreman_tasks/api/tasks/bulk_search',
+        u'/foreman_tasks/api/tasks/callback',
         u'/foreman_tasks/api/tasks/summary',
     ),
     u'gpg_keys': (
@@ -297,6 +337,7 @@ API_PATHS = {
         u'/api',
         u'/api/status',
     ),
+    u'host_autocomplete': (),
     u'host_classes': (
         u'/api/hosts/:host_id/puppetclass_ids',
         u'/api/hosts/:host_id/puppetclass_ids',
@@ -308,10 +349,17 @@ API_PATHS = {
         u'/katello/api/host_collections/:id',
         u'/katello/api/host_collections/:id',
         u'/katello/api/host_collections/:id',
-        u'/katello/api/host_collections/:id/add_systems',
+        u'/katello/api/host_collections/:id/add_hosts',
         u'/katello/api/host_collections/:id/copy',
-        u'/katello/api/host_collections/:id/remove_systems',
-        u'/katello/api/host_collections/:id/systems',
+        u'/katello/api/host_collections/:id/remove_hosts',
+    ),
+    u'host_subscriptions': (
+        u'/api/hosts/:host_id/subscriptions',
+        u'/api/hosts/:host_id/subscriptions/add_subscriptions',
+        u'/api/hosts/:host_id/subscriptions/auto_attach',
+        u'/api/hosts/:host_id/subscriptions/content_override',
+        u'/api/hosts/:host_id/subscriptions/events',
+        u'/api/hosts/:host_id/subscriptions/product_content',
     ),
     u'hostgroup_classes': (
         u'/api/hostgroups/:hostgroup_id/puppetclass_ids',
@@ -329,7 +377,7 @@ API_PATHS = {
     u'hosts': (
         u'/api/hosts',
         u'/api/hosts',
-        u'/api/hosts/facts',
+        u'/api/hosts/:host_id/host_collections',
         u'/api/hosts/:id',
         u'/api/hosts/:id',
         u'/api/hosts/:id',
@@ -337,7 +385,34 @@ API_PATHS = {
         u'/api/hosts/:id/disassociate',
         u'/api/hosts/:id/power',
         u'/api/hosts/:id/puppetrun',
+        u'/api/hosts/:id/rebuild_config',
         u'/api/hosts/:id/status',
+        u'/api/hosts/:id/status/:type',
+        u'/api/hosts/:id/template/:kind',
+        u'/api/hosts/:id/vm_compute_attributes',
+        u'/api/hosts/facts',
+    ),
+    u'hosts_bulk_actions': (
+        u'/katello/api/hosts/bulk/add_host_collections',
+        u'/katello/api/hosts/bulk/applicable_errata',
+        u'/katello/api/hosts/bulk/available_incremental_updates',
+        u'/katello/api/hosts/bulk/destroy',
+        u'/katello/api/hosts/bulk/environment_content_view',
+        u'/katello/api/hosts/bulk/install_content',
+        u'/katello/api/hosts/bulk/remove_content',
+        u'/katello/api/hosts/bulk/remove_host_collections',
+        u'/katello/api/hosts/bulk/update_content',
+    ),
+    u'host_errata': (
+        u'/api/hosts/:host_id/errata',
+        u'/api/hosts/:host_id/errata/:id',
+        u'/api/hosts/:host_id/errata/apply',
+    ),
+    u'host_packages': (
+        u'/api/hosts/:host_id/packages',
+        u'/api/hosts/:host_id/packages/install',
+        u'/api/hosts/:host_id/packages/remove',
+        u'/api/hosts/:host_id/packages/upgrade_all',
     ),
     u'images': (
         u'/api/compute_resources/:compute_resource_id/images',
@@ -353,6 +428,20 @@ API_PATHS = {
         u'/api/hosts/:host_id/interfaces/:id',
         u'/api/hosts/:host_id/interfaces/:id',
     ),
+    u'job_invocations': (
+        u'/api/job_invocations',
+        u'/api/job_invocations',
+        u'/api/job_invocations/:id',
+        u'/api/job_invocations/:id/hosts/:host_id',
+    ),
+    u'job_templates': (
+        u'/api/job_templates',
+        u'/api/job_templates',
+        u'/api/job_templates/:id',
+        u'/api/job_templates/:id',
+        u'/api/job_templates/:id',
+        u'/api/job_templates/:id/clone',
+    ),
     u'lifecycle_environments': (
         u'/katello/api/environments',
         u'/katello/api/environments',
@@ -414,6 +503,10 @@ API_PATHS = {
         u'/api/operatingsystems/:operatingsystem_id/os_default_templates/:id',
         u'/api/operatingsystems/:operatingsystem_id/os_default_templates/:id',
     ),
+    u'ostree_branches': (
+        u'/katello/api/compare',
+        u'/katello/api/ostree_branches/:id',
+    ),
     u'override_values': (
         u'/api/smart_variables/:smart_variable_id/override_values',
         u'/api/smart_variables/:smart_variable_id/override_values',
@@ -422,11 +515,11 @@ API_PATHS = {
         u'/api/smart_variables/:smart_variable_id/override_values/:id',
     ),
     u'package_groups': (
-        u'/katello/api/package_groups',
+        u'/katello/api/compare',
         u'/katello/api/package_groups/:id',
     ),
     u'packages': (
-        u'/katello/api/packages',
+        u'/katello/api/compare',
         u'/katello/api/packages/:id',
     ),
     u'parameters': (
@@ -461,12 +554,22 @@ API_PATHS = {
         u'/katello/api/products/:id',
         u'/katello/api/products/:id/sync',
     ),
+    u'provisioning_templates': (
+        u'/api/provisioning_templates',
+        u'/api/provisioning_templates',
+        u'/api/provisioning_templates/:id',
+        u'/api/provisioning_templates/:id',
+        u'/api/provisioning_templates/:id',
+        u'/api/provisioning_templates/:id/clone',
+        u'/api/provisioning_templates/build_pxe_default',
+    ),
     u'ptables': (
         u'/api/ptables',
         u'/api/ptables',
         u'/api/ptables/:id',
         u'/api/ptables/:id',
         u'/api/ptables/:id',
+        u'/api/ptables/:id/clone',
     ),
     u'puppetclasses': (
         u'/api/puppetclasses',
@@ -476,7 +579,7 @@ API_PATHS = {
         u'/api/puppetclasses/:id',
     ),
     u'puppet_modules': (
-        u'/katello/api/puppet_modules',
+        u'/katello/api/compare',
         u'/katello/api/puppet_modules/:id',
     ),
     u'realms': (
@@ -486,6 +589,11 @@ API_PATHS = {
         u'/api/realms/:id',
         u'/api/realms/:id',
     ),
+    u'recurring_logics': (
+        u'/foreman_tasks/api/recurring_logics',
+        u'/foreman_tasks/api/recurring_logics/:id',
+        u'/foreman_tasks/api/recurring_logics/:id/cancel',
+    ),
     u'registries': (
         u'/docker/api/v2/registries',
         u'/docker/api/v2/registries',
@@ -493,6 +601,11 @@ API_PATHS = {
         u'/docker/api/v2/registries/:id',
         u'/docker/api/v2/registries/:id',
     ),
+    u'remote_execution_features': (
+        '/api/remote_execution_features',
+        '/api/remote_execution_features/:id',
+        '/api/remote_execution_features/:id',
+    ),
     u'reports': (
         u'/api/hosts/:host_id/reports/last',
         u'/api/reports',
@@ -510,10 +623,12 @@ API_PATHS = {
         u'/katello/api/repositories/:id',
         u'/katello/api/repositories/:id',
         u'/katello/api/repositories/:id',
+        u'/katello/api/repositories/:id/export',
         u'/katello/api/repositories/:id/gpg_key_content',
         u'/katello/api/repositories/:id/import_uploads',
         u'/katello/api/repositories/:id/sync',
         u'/katello/api/repositories/:id/upload_content',
+        u'/katello/api/repositories/repository_types',
     ),
     u'repository_sets': (
         u'/katello/api/products/:product_id/repository_sets',
@@ -530,9 +645,6 @@ API_PATHS = {
         u'/api/roles/:id',
     ),
     u'root': (),
-    u'scaptimony_policies': (
-        u'/api/v2/compliance/policies/:id/content',
-    ),
     u'settings': (
         u'/api/settings',
         u'/api/settings/:id',
@@ -574,15 +686,14 @@ API_PATHS = {
         u'/api/subnets/:id',
     ),
     u'subscriptions': (
+        u'/katello/api/activation_keys/:activation_key_id/subscriptions',
+        u'/katello/api/activation_keys/:activation_key_id/subscriptions/:id',
         u'/katello/api/organizations/:organization_id/subscriptions',
         u'/katello/api/organizations/:organization_id/subscriptions/delete_manifest',
         u'/katello/api/organizations/:organization_id/subscriptions/:id',
         u'/katello/api/organizations/:organization_id/subscriptions/manifest_history',
         u'/katello/api/organizations/:organization_id/subscriptions/refresh_manifest',
         u'/katello/api/organizations/:organization_id/subscriptions/upload',
-        u'/katello/api/subscriptions/:id',
-        u'/katello/api/subscriptions/:id',
-        u'/katello/api/systems/:system_id/subscriptions/available',
     ),
     u'sync_plans': (
         u'/katello/api/organizations/:organization_id/sync_plans',
@@ -590,46 +701,19 @@ API_PATHS = {
         u'/katello/api/organizations/:organization_id/sync_plans/:id',
         u'/katello/api/organizations/:organization_id/sync_plans/:id',
         u'/katello/api/organizations/:organization_id/sync_plans/:id/add_products',
-        u'/katello/api/organizations/:organization_id/sync_plans/:id/available_products',
         u'/katello/api/organizations/:organization_id/sync_plans/:id/remove_products',
         u'/katello/api/sync_plans',
+        u'/katello/api/sync_plans/:id/sync',
     ),
     u'sync': (
         u'/katello/api/organizations/:organization_id/products/:product_id/sync',
     ),
-    u'system_errata': (
-        u'/katello/api/systems/:system_id/errata',
-        u'/katello/api/systems/:system_id/errata/:id',
-        u'/katello/api/systems/:system_id/errata/apply',
-    ),
-    u'system_packages': (
-        u'/katello/api/systems/:system_id/packages/install',
-        u'/katello/api/systems/:system_id/packages/remove',
-        u'/katello/api/systems/:system_id/packages/upgrade_all',
-    ),
-    u'systems_bulk_actions': (
-        u'/katello/api/systems/bulk/add_host_collections',
-        u'/katello/api/systems/bulk/applicable_errata',
-        u'/katello/api/systems/bulk/available_incremental_updates',
-        u'/katello/api/systems/bulk/destroy',
-        u'/katello/api/systems/bulk/environment_content_view',
-        u'/katello/api/systems/bulk/install_content',
-        u'/katello/api/systems/bulk/remove_content',
-        u'/katello/api/systems/bulk/remove_host_collections',
-        u'/katello/api/systems/bulk/update_content',
-    ),
     u'systems': (
-        u'/katello/api/environments/:environment_id/systems/report',
         u'/katello/api/systems',
         u'/katello/api/systems',
         u'/katello/api/systems/:id',
         u'/katello/api/systems/:id',
         u'/katello/api/systems/:id',
-        u'/katello/api/systems/:id/available_host_collections',
-        u'/katello/api/systems/:id/events',
-        u'/katello/api/systems/:id/packages',
-        u'/katello/api/systems/:id/pools',
-        u'/katello/api/systems/:id/refresh_subscriptions',
         u'/katello/api/systems/:id/releases',
     ),
     u'tasks': (
@@ -638,9 +722,17 @@ API_PATHS = {
     u'template_combinations': (
         u'/api/config_templates/:config_template_id/template_combinations',
         u'/api/config_templates/:config_template_id/template_combinations',
+        u'/api/provisioning_templates/:provisioning_template_id/template_combinations/:id',
         u'/api/template_combinations/:id',
         u'/api/template_combinations/:id',
     ),
+    u'template_inputs': (
+        '/api/templates/:template_id/template_inputs',
+        '/api/templates/:template_id/template_inputs',
+        '/api/templates/:template_id/template_inputs/:id',
+        '/api/templates/:template_id/template_inputs/:id',
+        '/api/templates/:template_id/template_inputs/:id',
+    ),
     u'template_kinds': (
         u'/api/template_kinds',
     ),
@@ -708,16 +800,6 @@ class AvailableURLsTestCase(TestCase):
         for group, path_pairs in api_paths.items():
             api_paths[group] = path_pairs.values()

-        if bz_bug_is_open(1166875):
-            # The server returns incorrect paths.
-            api_paths['docker_images'].append(u'/katello/api/docker_images')
-            api_paths['docker_images'].remove(u'/katello/api/compare')
-            api_paths['docker_tags'].append(u'/katello/api/docker_tags')
-            api_paths['docker_tags'].remove(u'/katello/api/compare')
-            api_paths['errata'].append(u'/katello/api/errata')
-            api_paths['errata'].append(u'/katello/api/errata/compare')
-            api_paths['errata'].remove(u'/katello/api/compare')
-
         self.assertEqual(
             frozenset(api_paths.keys()),
             frozenset(API_PATHS.keys())
dekimsey commented 6 years ago

Did these changes die? The Entities API is definitely still missing endpoints (for instance I cannot retrieve config_reports or last_report field from a Host).

elyezer commented 6 years ago

@dekimsey I would recommend you opening a separated issue asking to add those. Thank you for your comment.

ahmedloai commented 4 years ago

@dekimsey Is the issue of missing API url like config_reports has been solved or not yet? I am searching for that but I could not find any notes.

Thanks

mirekdlugosz commented 4 years ago

@ahmedloai no, there is no entity for this endpoint in Nailgun. Patch most definitely welcome.