stoobly-agent 0.33.7__py3-none-any.whl → 0.34.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. stoobly_agent/__init__.py +1 -1
  2. stoobly_agent/app/cli/endpoint_cli.py +24 -1
  3. stoobly_agent/app/cli/helpers/endpoint_facade.py +22 -1
  4. stoobly_agent/app/cli/helpers/endpoints_import_context.py +57 -0
  5. stoobly_agent/app/cli/helpers/endpoints_import_service.py +147 -0
  6. stoobly_agent/app/cli/helpers/openapi_endpoint_adapter.py +111 -6
  7. stoobly_agent/app/models/types/endpoint.py +28 -2
  8. stoobly_agent/app/settings/intercept_settings.py +1 -1
  9. stoobly_agent/lib/api/api.py +4 -0
  10. stoobly_agent/lib/api/body_param_names_resource.py +36 -0
  11. stoobly_agent/lib/api/endpoints_resource.py +9 -2
  12. stoobly_agent/lib/api/header_names_resource.py +36 -0
  13. stoobly_agent/lib/api/interfaces/endpoints.py +2 -0
  14. stoobly_agent/lib/api/query_param_names_resource.py +36 -0
  15. stoobly_agent/lib/api/response_header_names_resource.py +36 -0
  16. stoobly_agent/lib/api/response_param_names_resource.py +36 -0
  17. stoobly_agent/public/0-es2015.a7e60cafc0868f87a771.js +1 -0
  18. stoobly_agent/public/0-es5.a7e60cafc0868f87a771.js +1 -0
  19. stoobly_agent/public/1-es2015.cb071776436f10954db5.js +1 -0
  20. stoobly_agent/public/1-es5.cb071776436f10954db5.js +1 -0
  21. stoobly_agent/public/10-es2015.bb1702aaf3968a2cb521.js +1 -0
  22. stoobly_agent/public/10-es5.bb1702aaf3968a2cb521.js +1 -0
  23. stoobly_agent/public/12-es2015.591ec692afb8f8d13842.js +1 -0
  24. stoobly_agent/public/12-es5.591ec692afb8f8d13842.js +1 -0
  25. stoobly_agent/public/13-es2015.f381e7d6ff361b669e12.js +1 -0
  26. stoobly_agent/public/13-es5.f381e7d6ff361b669e12.js +1 -0
  27. stoobly_agent/public/14-es2015.1ffb225a16d6292dbddd.js +1 -0
  28. stoobly_agent/public/14-es5.1ffb225a16d6292dbddd.js +1 -0
  29. stoobly_agent/public/15-es2015.2cf39bcaeb0ea2c52297.js +1 -0
  30. stoobly_agent/public/15-es5.2cf39bcaeb0ea2c52297.js +1 -0
  31. stoobly_agent/public/16-es2015.0e9422b274e642f95e41.js +1 -0
  32. stoobly_agent/public/16-es5.0e9422b274e642f95e41.js +1 -0
  33. stoobly_agent/public/17-es2015.7fb08367a22d1e34aed7.js +1 -0
  34. stoobly_agent/public/17-es5.7fb08367a22d1e34aed7.js +1 -0
  35. stoobly_agent/public/18-es2015.5caa4789d1c335e628f2.js +1 -0
  36. stoobly_agent/public/18-es5.5caa4789d1c335e628f2.js +1 -0
  37. stoobly_agent/public/19-es2015.8049aef58c329c500f9b.js +1 -0
  38. stoobly_agent/public/19-es5.8049aef58c329c500f9b.js +1 -0
  39. stoobly_agent/public/2-es2015.8f184ac63348ba447b1f.js +1 -0
  40. stoobly_agent/public/2-es5.8f184ac63348ba447b1f.js +1 -0
  41. stoobly_agent/public/20-es2015.473486aabfa4d4a6431b.js +1 -0
  42. stoobly_agent/public/20-es5.473486aabfa4d4a6431b.js +1 -0
  43. stoobly_agent/public/21-es2015.63ed4e6b242fbc047bd6.js +1 -0
  44. stoobly_agent/public/21-es5.63ed4e6b242fbc047bd6.js +1 -0
  45. stoobly_agent/public/22-es2015.df183804415330639987.js +1 -0
  46. stoobly_agent/public/22-es5.df183804415330639987.js +1 -0
  47. stoobly_agent/public/23-es2015.0da63b056fabde91bb0b.js +1 -0
  48. stoobly_agent/public/23-es5.0da63b056fabde91bb0b.js +1 -0
  49. stoobly_agent/public/28-es2015.9fe030e9d3b0e52239aa.js +1 -0
  50. stoobly_agent/public/28-es5.9fe030e9d3b0e52239aa.js +1 -0
  51. stoobly_agent/public/29-es2015.9b440f22de725732e5ab.js +1 -0
  52. stoobly_agent/public/29-es5.9b440f22de725732e5ab.js +1 -0
  53. stoobly_agent/public/30-es2015.6ad2a5126b0a27c1e7c6.js +1 -0
  54. stoobly_agent/public/30-es5.6ad2a5126b0a27c1e7c6.js +1 -0
  55. stoobly_agent/public/31-es2015.f4291150f35d54ff19ca.js +1 -0
  56. stoobly_agent/public/31-es5.f4291150f35d54ff19ca.js +1 -0
  57. stoobly_agent/public/32-es2015.c8f6ccb43bdba0adf199.js +1 -0
  58. stoobly_agent/public/32-es5.c8f6ccb43bdba0adf199.js +1 -0
  59. stoobly_agent/public/33-es2015.f985e93402ebf86322ef.js +1 -0
  60. stoobly_agent/public/33-es5.f985e93402ebf86322ef.js +1 -0
  61. stoobly_agent/public/34-es2015.0e1961fb3cf649a52d49.js +1 -0
  62. stoobly_agent/public/34-es5.0e1961fb3cf649a52d49.js +1 -0
  63. stoobly_agent/public/35-es2015.a4ae56a89c0324397624.js +1 -0
  64. stoobly_agent/public/35-es5.a4ae56a89c0324397624.js +1 -0
  65. stoobly_agent/public/36-es2015.b8fdd25590a79c820119.js +1 -0
  66. stoobly_agent/public/36-es5.b8fdd25590a79c820119.js +1 -0
  67. stoobly_agent/public/37-es2015.6567a0ce4cf87ad7287b.js +1 -0
  68. stoobly_agent/public/37-es5.6567a0ce4cf87ad7287b.js +1 -0
  69. stoobly_agent/public/38-es2015.6f6d751bff41d84d727a.js +1 -0
  70. stoobly_agent/public/38-es5.6f6d751bff41d84d727a.js +1 -0
  71. stoobly_agent/public/39-es2015.47f63177e7d4509a22fa.js +1 -0
  72. stoobly_agent/public/39-es5.47f63177e7d4509a22fa.js +1 -0
  73. stoobly_agent/public/3rdpartylicenses.txt +2418 -0
  74. stoobly_agent/public/4-es2015.182e1ce1811ef67571fb.js +1 -0
  75. stoobly_agent/public/4-es5.182e1ce1811ef67571fb.js +1 -0
  76. stoobly_agent/public/40-es2015.5333067cdc4077c7495a.js +1 -0
  77. stoobly_agent/public/40-es5.5333067cdc4077c7495a.js +1 -0
  78. stoobly_agent/public/41-es2015.7a2434380c81c11ff2c5.js +1 -0
  79. stoobly_agent/public/41-es5.7a2434380c81c11ff2c5.js +1 -0
  80. stoobly_agent/public/42-es2015.5dde662fe1e3b4e4bdd1.js +1 -0
  81. stoobly_agent/public/42-es5.5dde662fe1e3b4e4bdd1.js +1 -0
  82. stoobly_agent/public/43-es2015.608e917d689b9bb762cb.js +1 -0
  83. stoobly_agent/public/43-es5.608e917d689b9bb762cb.js +1 -0
  84. stoobly_agent/public/44-es2015.2ae5fea15b5e8c2681d3.js +1 -0
  85. stoobly_agent/public/44-es5.2ae5fea15b5e8c2681d3.js +1 -0
  86. stoobly_agent/public/45-es2015.e46f228c795174428515.js +1 -0
  87. stoobly_agent/public/45-es5.e46f228c795174428515.js +1 -0
  88. stoobly_agent/public/46-es2015.22a0d8e0b4bbfb513741.js +1 -0
  89. stoobly_agent/public/46-es5.22a0d8e0b4bbfb513741.js +1 -0
  90. stoobly_agent/public/47-es2015.3878e5d1d692107748f3.js +1 -0
  91. stoobly_agent/public/47-es5.3878e5d1d692107748f3.js +1 -0
  92. stoobly_agent/public/5-es2015.aba7173be56fc19b4b6f.js +1 -0
  93. stoobly_agent/public/5-es5.aba7173be56fc19b4b6f.js +1 -0
  94. stoobly_agent/public/6-es2015.5fb726c0555664300974.js +1 -0
  95. stoobly_agent/public/6-es5.5fb726c0555664300974.js +1 -0
  96. stoobly_agent/public/7-es2015.9b9ab4adf24d13bdc2f8.js +1 -0
  97. stoobly_agent/public/7-es5.9b9ab4adf24d13bdc2f8.js +1 -0
  98. stoobly_agent/public/8-es2015.cdd7dce2a24aaf9d974f.js +1 -0
  99. stoobly_agent/public/8-es5.cdd7dce2a24aaf9d974f.js +1 -0
  100. stoobly_agent/public/9-es2015.cdde98f2537997afbf0f.js +1 -0
  101. stoobly_agent/public/9-es5.cdde98f2537997afbf0f.js +1 -0
  102. stoobly_agent/public/CHANGELOG.md +58 -0
  103. stoobly_agent/public/README.md +264 -0
  104. stoobly_agent/public/_redirects +1 -0
  105. stoobly_agent/public/assets/img/demo/1.jpg +0 -0
  106. stoobly_agent/public/assets/img/demo/2.jpg +0 -0
  107. stoobly_agent/public/assets/img/demo/3.jpg +0 -0
  108. stoobly_agent/public/assets/img/demo/4.jpg +0 -0
  109. stoobly_agent/public/assets/img/demo/5.jpg +0 -0
  110. stoobly_agent/public/assets/img/demo/6.jpg +0 -0
  111. stoobly_agent/public/assets/img/demo/7.jpg +0 -0
  112. stoobly_agent/public/assets/img/demo/8.jpg +0 -0
  113. stoobly_agent/public/assets/img/demo/landscape.jpg +0 -0
  114. stoobly_agent/public/assets/img/demo/mountain-cinematic.jpg +0 -0
  115. stoobly_agent/public/assets/img/illustrations/checklist.svg +164 -0
  116. stoobly_agent/public/assets/img/illustrations/data_center.svg +150 -0
  117. stoobly_agent/public/assets/img/illustrations/idea.svg +213 -0
  118. stoobly_agent/public/assets/img/illustrations/it_support.svg +168 -0
  119. stoobly_agent/public/assets/img/illustrations/peak_mountain_3.svg +262 -0
  120. stoobly_agent/public/assets/img/illustrations/under_constructions_1.svg +282 -0
  121. stoobly_agent/public/assets/img/logo/colored.png +0 -0
  122. stoobly_agent/public/assets/img/logo/colored.svg +9 -0
  123. stoobly_agent/public/assets/img/logo/white.png +0 -0
  124. stoobly_agent/public/assets/img/logo/white.svg +8 -0
  125. stoobly_agent/public/common-es2015.6f230354b12587f9be81.js +1 -0
  126. stoobly_agent/public/common-es5.6f230354b12587f9be81.js +1 -0
  127. stoobly_agent/public/favicon.ico +0 -0
  128. stoobly_agent/public/index.html +118 -0
  129. stoobly_agent/public/main-es2015.081bbd2709f22e95933e.js +1 -0
  130. stoobly_agent/public/main-es5.081bbd2709f22e95933e.js +1 -0
  131. stoobly_agent/public/polyfills-es2015.8ce2adc69f283f6c4c5e.js +1 -0
  132. stoobly_agent/public/polyfills-es5.7530172ddcec11a10eb3.js +1 -0
  133. stoobly_agent/public/runtime-es2015.362e49d383fb724f5414.js +1 -0
  134. stoobly_agent/public/runtime-es5.362e49d383fb724f5414.js +1 -0
  135. stoobly_agent/public/styles.ca104d947fbb2eebbeca.css +6 -0
  136. stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_additional_props_test.py +34 -0
  137. stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_info_test.py +80 -3
  138. stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_oauth2_scopes_test.py +82 -1
  139. stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_servers_test.py +80 -3
  140. stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_test.py +617 -4
  141. {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/METADATA +1 -1
  142. {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/RECORD +145 -19
  143. {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/LICENSE +0 -0
  144. {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/WHEEL +0 -0
  145. {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/entry_points.txt +0 -0
@@ -44,7 +44,88 @@ class TestOpenApiEndpointAdapterMissingOauthScopes():
44
44
  "query_param_name_id": None,
45
45
  "id": 1
46
46
  }
47
- ]
47
+ ],
48
+ 'path_segment_names': [
49
+ {
50
+ 'name': 'v1',
51
+ 'type': 'static',
52
+ },
53
+ {
54
+ 'name': 'pets',
55
+ 'type': 'static',
56
+ },
57
+ ],
58
+ 'response_header_names': [
59
+ {
60
+ 'is_deterministic': True,
61
+ 'is_required': False,
62
+ 'name': 'x-next',
63
+ },
64
+ ],
65
+ "response_param_names": [
66
+ {
67
+ "endpoint_id": 1,
68
+ "inferred_type": "Integer",
69
+ "is_required": True,
70
+ "is_deterministic": True,
71
+ "name": "id",
72
+ "query": "id",
73
+ "response_param_name_id": None,
74
+ "id": 1,
75
+ "values": [
76
+ 0
77
+ ]
78
+ },
79
+ {
80
+ "endpoint_id": 1,
81
+ "inferred_type": "String",
82
+ "is_required": True,
83
+ "is_deterministic": True,
84
+ "name": "name",
85
+ "query": "name",
86
+ "response_param_name_id": None,
87
+ "id": 2,
88
+ "values": [
89
+ ""
90
+ ]
91
+ },
92
+ {
93
+ "endpoint_id": 1,
94
+ "inferred_type": "String",
95
+ "is_required": False,
96
+ "is_deterministic": True,
97
+ "name": "tag",
98
+ "query": "tag",
99
+ "response_param_name_id": None,
100
+ "id": 3
101
+ },
102
+ {
103
+ "endpoint_id": 1,
104
+ "inferred_type": "Integer",
105
+ "is_required": True,
106
+ "is_deterministic": True,
107
+ "name": "code",
108
+ "query": "code",
109
+ "response_param_name_id": None,
110
+ "id": 1,
111
+ "values": [
112
+ 0
113
+ ]
114
+ },
115
+ {
116
+ "endpoint_id": 1,
117
+ "inferred_type": "String",
118
+ "is_required": True,
119
+ "is_deterministic": True,
120
+ "name": "message",
121
+ "query": "message",
122
+ "response_param_name_id": None,
123
+ "id": 2,
124
+ "values": [
125
+ ""
126
+ ]
127
+ }
128
+ ],
48
129
  }
49
130
 
50
131
  def test_adapt_from_file(self, open_api_endpoint_adapter, petstore_file_path, expected_get_pets_endpoint):
@@ -29,10 +29,10 @@ class TestOpenApiEndpointAdapterMissingServers():
29
29
  return {
30
30
  "id": 1,
31
31
  "method": "GET",
32
- "host": "",
32
+ "host": "-",
33
33
  "match_pattern": "/pets",
34
34
  "path": "/pets",
35
- "port": "",
35
+ "port": "0",
36
36
  "query_param_names": [
37
37
  {
38
38
  "endpoint_id": 1,
@@ -44,7 +44,84 @@ class TestOpenApiEndpointAdapterMissingServers():
44
44
  "query_param_name_id": None,
45
45
  "id": 1
46
46
  }
47
- ]
47
+ ],
48
+ 'path_segment_names': [
49
+ {
50
+ 'name': 'pets',
51
+ 'type': 'static',
52
+ },
53
+ ],
54
+ 'response_header_names': [
55
+ {
56
+ 'is_deterministic': True,
57
+ 'is_required': False,
58
+ 'name': 'x-next',
59
+ },
60
+ ],
61
+ "response_param_names": [
62
+ {
63
+ "endpoint_id": 1,
64
+ "inferred_type": "Integer",
65
+ "is_required": True,
66
+ "is_deterministic": True,
67
+ "name": "id",
68
+ "query": "id",
69
+ "response_param_name_id": None,
70
+ "id": 1,
71
+ "values": [
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "endpoint_id": 1,
77
+ "inferred_type": "String",
78
+ "is_required": True,
79
+ "is_deterministic": True,
80
+ "name": "name",
81
+ "query": "name",
82
+ "response_param_name_id": None,
83
+ "id": 2,
84
+ "values": [
85
+ ""
86
+ ]
87
+ },
88
+ {
89
+ "endpoint_id": 1,
90
+ "inferred_type": "String",
91
+ "is_required": False,
92
+ "is_deterministic": True,
93
+ "name": "tag",
94
+ "query": "tag",
95
+ "response_param_name_id": None,
96
+ "id": 3
97
+ },
98
+ {
99
+ "endpoint_id": 1,
100
+ "inferred_type": "Integer",
101
+ "is_required": True,
102
+ "is_deterministic": True,
103
+ "name": "code",
104
+ "query": "code",
105
+ "response_param_name_id": None,
106
+ "id": 1,
107
+ "values": [
108
+ 0
109
+ ]
110
+ },
111
+ {
112
+ "endpoint_id": 1,
113
+ "inferred_type": "String",
114
+ "is_required": True,
115
+ "is_deterministic": True,
116
+ "name": "message",
117
+ "query": "message",
118
+ "response_param_name_id": None,
119
+ "id": 2,
120
+ "values": [
121
+ ""
122
+ ]
123
+ }
124
+ ],
48
125
  }
49
126
 
50
127
  def test_adapt_from_file(self, open_api_endpoint_adapter, petstore_file_path, expected_get_pets_endpoint):