Skip to content

Commit a793a75

Browse files
authored
Merge 69072da into 10587a8
2 parents 10587a8 + 69072da commit a793a75

File tree

5 files changed

+86
-1
lines changed

5 files changed

+86
-1
lines changed

cumulus_lambda_functions/uds_api/misc_api.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ async def catalog_list(request: Request, response: Response):
3131
:param response:
3232
:return:
3333
"""
34+
print('inside catalog_list')
3435
base_url = os.environ.get(WebServiceConstants.BASE_URL, f'{request.url.scheme}://{request.url.netloc}')
3536
base_url = base_url[:-1] if base_url.endswith('/') else base_url
3637
base_url = base_url if base_url.startswith('http') else f'https://{base_url}'
@@ -50,6 +51,7 @@ async def catalog_list(request: Request, response: Response):
5051
}]
5152
return stac_browser_expecting_result
5253

54+
5355
@router.get(f'/stac_entry')
5456
@router.get(f'/stac_entry/')
5557
async def stac_entry(request: Request, response: Response):
@@ -79,3 +81,23 @@ async def stac_entry(request: Request, response: Response):
7981
redirect_response.set_cookie(key="unity_token", value=request_headers['oidc_access_token'], httponly=False, secure=False, samesite='strict') # missing , domain=base_url
8082
redirect_response.set_cookie(key="test1", value=f"{time()}", httponly=False, secure=False, samesite='strict') # missing , domain=base_url
8183
return redirect_response
84+
85+
86+
@router.get(f'/version')
87+
@router.get(f'/version/')
88+
async def ds_version(request: Request, response: Response):
89+
print('inside ds_version')
90+
91+
"""
92+
This is to list all catalogs for STAC Browser.
93+
This doesn't require any authorization token.
94+
:param request:
95+
:param response:
96+
:return:
97+
"""
98+
version_details = {
99+
'temp': os.path.dirname(__file__),
100+
'version': 'TODO',
101+
'built': 'TODO'
102+
}
103+
return version_details

cumulus_lambda_functions/uds_api/web_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ async def get_open_api(request: Request):
6464
default_open_api_doc['paths'].pop(k)
6565
return app.openapi()
6666

67-
67+
print('hello about to call mangum')
6868
# to make it work with Amazon Lambda, we create a handler object
6969
handler = Mangum(app=app)
7070

tests/integration_tests/test_uds_api.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,20 @@ def test_single_granule_get(self):
233233

234234
return
235235

236+
def test_version_get(self):
237+
post_url = f'{self.uds_url}misc/version/'
238+
headers = {
239+
'Authorization': f'Bearer {self.bearer_token}',
240+
}
241+
print(post_url)
242+
query_result = requests.get(url=post_url,
243+
headers=headers,
244+
)
245+
# self.assertEqual(query_result.status_code, 200, f'wrong status code. {query_result.text}')
246+
response_json = json.loads(query_result.text)
247+
print(json.dumps(response_json))
248+
return
249+
236250
def test_create_new_collection(self):
237251
post_url = f'{self.uds_url}collections/' # MCP Dev
238252
headers = {

tf-module/unity-cumulus/api_gateway.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ resource "aws_api_gateway_deployment" "shared_services_api_gateway_deployment" {
5454

5555
aws_api_gateway_integration.misc_catalog_list_lambda_integration,
5656
aws_api_gateway_integration.misc_stac_entry_lambda_integration,
57+
aws_api_gateway_integration.misc_version_lambda_integration,
5758

5859
aws_api_gateway_integration.stac_browser_lambda_integration,
5960
aws_api_gateway_integration.stac_browser_proxy_lambda_integration,
6061

62+
6163
module.uds_all_cors_method.options_integration_object,
6264
module.uds_all_any_to_lambda_module.lambda_integration_object,
6365

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
resource "aws_api_gateway_resource" "misc_version_resource" {
2+
rest_api_id = data.aws_api_gateway_rest_api.rest_api.id
3+
parent_id = aws_api_gateway_resource.misc_base_resource.id
4+
path_part = "version"
5+
}
6+
7+
resource "aws_api_gateway_method" "misc_version_method" {
8+
rest_api_id = data.aws_api_gateway_rest_api.rest_api.id
9+
resource_id = aws_api_gateway_resource.misc_version_resource.id
10+
http_method = "GET"
11+
authorization = "NONE"
12+
request_parameters = {
13+
"method.request.path.proxy" = true
14+
}
15+
}
16+
17+
resource "aws_api_gateway_method_response" "misc_version_method_response" {
18+
rest_api_id = data.aws_api_gateway_rest_api.rest_api.id
19+
resource_id = aws_api_gateway_resource.misc_version_resource.id
20+
http_method = aws_api_gateway_method.misc_version_method.http_method
21+
status_code = 200
22+
response_models = {
23+
"application/json" = "Empty"
24+
}
25+
response_parameters = {
26+
"method.response.header.Access-Control-Allow-Origin" = true
27+
}
28+
depends_on = ["aws_api_gateway_method.misc_version_method"]
29+
}
30+
31+
resource "aws_api_gateway_integration" "misc_version_lambda_integration" {
32+
rest_api_id = data.aws_api_gateway_rest_api.rest_api.id
33+
resource_id = aws_api_gateway_resource.misc_version_resource.id
34+
http_method = aws_api_gateway_method.misc_version_method.http_method
35+
type = "AWS_PROXY"
36+
uri = aws_lambda_function.uds_api_1.invoke_arn
37+
integration_http_method = "POST"
38+
39+
# cache_key_parameters = ["method.request.path.proxy"]
40+
41+
timeout_milliseconds = 29000
42+
# request_parameters = {
43+
# "integration.request.path.proxy" = "method.request.path.proxy"
44+
# }
45+
}
46+
47+
##########################################################################################################################

0 commit comments

Comments
 (0)