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.
- stoobly_agent/__init__.py +1 -1
- stoobly_agent/app/cli/endpoint_cli.py +24 -1
- stoobly_agent/app/cli/helpers/endpoint_facade.py +22 -1
- stoobly_agent/app/cli/helpers/endpoints_import_context.py +57 -0
- stoobly_agent/app/cli/helpers/endpoints_import_service.py +147 -0
- stoobly_agent/app/cli/helpers/openapi_endpoint_adapter.py +111 -6
- stoobly_agent/app/models/types/endpoint.py +28 -2
- stoobly_agent/app/settings/intercept_settings.py +1 -1
- stoobly_agent/lib/api/api.py +4 -0
- stoobly_agent/lib/api/body_param_names_resource.py +36 -0
- stoobly_agent/lib/api/endpoints_resource.py +9 -2
- stoobly_agent/lib/api/header_names_resource.py +36 -0
- stoobly_agent/lib/api/interfaces/endpoints.py +2 -0
- stoobly_agent/lib/api/query_param_names_resource.py +36 -0
- stoobly_agent/lib/api/response_header_names_resource.py +36 -0
- stoobly_agent/lib/api/response_param_names_resource.py +36 -0
- stoobly_agent/public/0-es2015.a7e60cafc0868f87a771.js +1 -0
- stoobly_agent/public/0-es5.a7e60cafc0868f87a771.js +1 -0
- stoobly_agent/public/1-es2015.cb071776436f10954db5.js +1 -0
- stoobly_agent/public/1-es5.cb071776436f10954db5.js +1 -0
- stoobly_agent/public/10-es2015.bb1702aaf3968a2cb521.js +1 -0
- stoobly_agent/public/10-es5.bb1702aaf3968a2cb521.js +1 -0
- stoobly_agent/public/12-es2015.591ec692afb8f8d13842.js +1 -0
- stoobly_agent/public/12-es5.591ec692afb8f8d13842.js +1 -0
- stoobly_agent/public/13-es2015.f381e7d6ff361b669e12.js +1 -0
- stoobly_agent/public/13-es5.f381e7d6ff361b669e12.js +1 -0
- stoobly_agent/public/14-es2015.1ffb225a16d6292dbddd.js +1 -0
- stoobly_agent/public/14-es5.1ffb225a16d6292dbddd.js +1 -0
- stoobly_agent/public/15-es2015.2cf39bcaeb0ea2c52297.js +1 -0
- stoobly_agent/public/15-es5.2cf39bcaeb0ea2c52297.js +1 -0
- stoobly_agent/public/16-es2015.0e9422b274e642f95e41.js +1 -0
- stoobly_agent/public/16-es5.0e9422b274e642f95e41.js +1 -0
- stoobly_agent/public/17-es2015.7fb08367a22d1e34aed7.js +1 -0
- stoobly_agent/public/17-es5.7fb08367a22d1e34aed7.js +1 -0
- stoobly_agent/public/18-es2015.5caa4789d1c335e628f2.js +1 -0
- stoobly_agent/public/18-es5.5caa4789d1c335e628f2.js +1 -0
- stoobly_agent/public/19-es2015.8049aef58c329c500f9b.js +1 -0
- stoobly_agent/public/19-es5.8049aef58c329c500f9b.js +1 -0
- stoobly_agent/public/2-es2015.8f184ac63348ba447b1f.js +1 -0
- stoobly_agent/public/2-es5.8f184ac63348ba447b1f.js +1 -0
- stoobly_agent/public/20-es2015.473486aabfa4d4a6431b.js +1 -0
- stoobly_agent/public/20-es5.473486aabfa4d4a6431b.js +1 -0
- stoobly_agent/public/21-es2015.63ed4e6b242fbc047bd6.js +1 -0
- stoobly_agent/public/21-es5.63ed4e6b242fbc047bd6.js +1 -0
- stoobly_agent/public/22-es2015.df183804415330639987.js +1 -0
- stoobly_agent/public/22-es5.df183804415330639987.js +1 -0
- stoobly_agent/public/23-es2015.0da63b056fabde91bb0b.js +1 -0
- stoobly_agent/public/23-es5.0da63b056fabde91bb0b.js +1 -0
- stoobly_agent/public/28-es2015.9fe030e9d3b0e52239aa.js +1 -0
- stoobly_agent/public/28-es5.9fe030e9d3b0e52239aa.js +1 -0
- stoobly_agent/public/29-es2015.9b440f22de725732e5ab.js +1 -0
- stoobly_agent/public/29-es5.9b440f22de725732e5ab.js +1 -0
- stoobly_agent/public/30-es2015.6ad2a5126b0a27c1e7c6.js +1 -0
- stoobly_agent/public/30-es5.6ad2a5126b0a27c1e7c6.js +1 -0
- stoobly_agent/public/31-es2015.f4291150f35d54ff19ca.js +1 -0
- stoobly_agent/public/31-es5.f4291150f35d54ff19ca.js +1 -0
- stoobly_agent/public/32-es2015.c8f6ccb43bdba0adf199.js +1 -0
- stoobly_agent/public/32-es5.c8f6ccb43bdba0adf199.js +1 -0
- stoobly_agent/public/33-es2015.f985e93402ebf86322ef.js +1 -0
- stoobly_agent/public/33-es5.f985e93402ebf86322ef.js +1 -0
- stoobly_agent/public/34-es2015.0e1961fb3cf649a52d49.js +1 -0
- stoobly_agent/public/34-es5.0e1961fb3cf649a52d49.js +1 -0
- stoobly_agent/public/35-es2015.a4ae56a89c0324397624.js +1 -0
- stoobly_agent/public/35-es5.a4ae56a89c0324397624.js +1 -0
- stoobly_agent/public/36-es2015.b8fdd25590a79c820119.js +1 -0
- stoobly_agent/public/36-es5.b8fdd25590a79c820119.js +1 -0
- stoobly_agent/public/37-es2015.6567a0ce4cf87ad7287b.js +1 -0
- stoobly_agent/public/37-es5.6567a0ce4cf87ad7287b.js +1 -0
- stoobly_agent/public/38-es2015.6f6d751bff41d84d727a.js +1 -0
- stoobly_agent/public/38-es5.6f6d751bff41d84d727a.js +1 -0
- stoobly_agent/public/39-es2015.47f63177e7d4509a22fa.js +1 -0
- stoobly_agent/public/39-es5.47f63177e7d4509a22fa.js +1 -0
- stoobly_agent/public/3rdpartylicenses.txt +2418 -0
- stoobly_agent/public/4-es2015.182e1ce1811ef67571fb.js +1 -0
- stoobly_agent/public/4-es5.182e1ce1811ef67571fb.js +1 -0
- stoobly_agent/public/40-es2015.5333067cdc4077c7495a.js +1 -0
- stoobly_agent/public/40-es5.5333067cdc4077c7495a.js +1 -0
- stoobly_agent/public/41-es2015.7a2434380c81c11ff2c5.js +1 -0
- stoobly_agent/public/41-es5.7a2434380c81c11ff2c5.js +1 -0
- stoobly_agent/public/42-es2015.5dde662fe1e3b4e4bdd1.js +1 -0
- stoobly_agent/public/42-es5.5dde662fe1e3b4e4bdd1.js +1 -0
- stoobly_agent/public/43-es2015.608e917d689b9bb762cb.js +1 -0
- stoobly_agent/public/43-es5.608e917d689b9bb762cb.js +1 -0
- stoobly_agent/public/44-es2015.2ae5fea15b5e8c2681d3.js +1 -0
- stoobly_agent/public/44-es5.2ae5fea15b5e8c2681d3.js +1 -0
- stoobly_agent/public/45-es2015.e46f228c795174428515.js +1 -0
- stoobly_agent/public/45-es5.e46f228c795174428515.js +1 -0
- stoobly_agent/public/46-es2015.22a0d8e0b4bbfb513741.js +1 -0
- stoobly_agent/public/46-es5.22a0d8e0b4bbfb513741.js +1 -0
- stoobly_agent/public/47-es2015.3878e5d1d692107748f3.js +1 -0
- stoobly_agent/public/47-es5.3878e5d1d692107748f3.js +1 -0
- stoobly_agent/public/5-es2015.aba7173be56fc19b4b6f.js +1 -0
- stoobly_agent/public/5-es5.aba7173be56fc19b4b6f.js +1 -0
- stoobly_agent/public/6-es2015.5fb726c0555664300974.js +1 -0
- stoobly_agent/public/6-es5.5fb726c0555664300974.js +1 -0
- stoobly_agent/public/7-es2015.9b9ab4adf24d13bdc2f8.js +1 -0
- stoobly_agent/public/7-es5.9b9ab4adf24d13bdc2f8.js +1 -0
- stoobly_agent/public/8-es2015.cdd7dce2a24aaf9d974f.js +1 -0
- stoobly_agent/public/8-es5.cdd7dce2a24aaf9d974f.js +1 -0
- stoobly_agent/public/9-es2015.cdde98f2537997afbf0f.js +1 -0
- stoobly_agent/public/9-es5.cdde98f2537997afbf0f.js +1 -0
- stoobly_agent/public/CHANGELOG.md +58 -0
- stoobly_agent/public/README.md +264 -0
- stoobly_agent/public/_redirects +1 -0
- stoobly_agent/public/assets/img/demo/1.jpg +0 -0
- stoobly_agent/public/assets/img/demo/2.jpg +0 -0
- stoobly_agent/public/assets/img/demo/3.jpg +0 -0
- stoobly_agent/public/assets/img/demo/4.jpg +0 -0
- stoobly_agent/public/assets/img/demo/5.jpg +0 -0
- stoobly_agent/public/assets/img/demo/6.jpg +0 -0
- stoobly_agent/public/assets/img/demo/7.jpg +0 -0
- stoobly_agent/public/assets/img/demo/8.jpg +0 -0
- stoobly_agent/public/assets/img/demo/landscape.jpg +0 -0
- stoobly_agent/public/assets/img/demo/mountain-cinematic.jpg +0 -0
- stoobly_agent/public/assets/img/illustrations/checklist.svg +164 -0
- stoobly_agent/public/assets/img/illustrations/data_center.svg +150 -0
- stoobly_agent/public/assets/img/illustrations/idea.svg +213 -0
- stoobly_agent/public/assets/img/illustrations/it_support.svg +168 -0
- stoobly_agent/public/assets/img/illustrations/peak_mountain_3.svg +262 -0
- stoobly_agent/public/assets/img/illustrations/under_constructions_1.svg +282 -0
- stoobly_agent/public/assets/img/logo/colored.png +0 -0
- stoobly_agent/public/assets/img/logo/colored.svg +9 -0
- stoobly_agent/public/assets/img/logo/white.png +0 -0
- stoobly_agent/public/assets/img/logo/white.svg +8 -0
- stoobly_agent/public/common-es2015.6f230354b12587f9be81.js +1 -0
- stoobly_agent/public/common-es5.6f230354b12587f9be81.js +1 -0
- stoobly_agent/public/favicon.ico +0 -0
- stoobly_agent/public/index.html +118 -0
- stoobly_agent/public/main-es2015.081bbd2709f22e95933e.js +1 -0
- stoobly_agent/public/main-es5.081bbd2709f22e95933e.js +1 -0
- stoobly_agent/public/polyfills-es2015.8ce2adc69f283f6c4c5e.js +1 -0
- stoobly_agent/public/polyfills-es5.7530172ddcec11a10eb3.js +1 -0
- stoobly_agent/public/runtime-es2015.362e49d383fb724f5414.js +1 -0
- stoobly_agent/public/runtime-es5.362e49d383fb724f5414.js +1 -0
- stoobly_agent/public/styles.ca104d947fbb2eebbeca.css +6 -0
- stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_additional_props_test.py +34 -0
- stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_info_test.py +80 -3
- stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_oauth2_scopes_test.py +82 -1
- stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_missing_servers_test.py +80 -3
- stoobly_agent/test/app/cli/helpers/openapi_endpoint_adapter_test.py +617 -4
- {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/METADATA +1 -1
- {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/RECORD +145 -19
- {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/LICENSE +0 -0
- {stoobly_agent-0.33.7.dist-info → stoobly_agent-0.34.0.dist-info}/WHEEL +0 -0
- {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):
|