Run black on moto & test directories.
This commit is contained in:
parent
c820395dbf
commit
96e5b1993d
507 changed files with 52541 additions and 47814 deletions
|
|
@ -2,6 +2,6 @@ from __future__ import unicode_literals
|
|||
from .models import athena_backends
|
||||
from ..core.models import base_decorator, deprecated_base_decorator
|
||||
|
||||
athena_backend = athena_backends['us-east-1']
|
||||
athena_backend = athena_backends["us-east-1"]
|
||||
mock_athena = base_decorator(athena_backends)
|
||||
mock_athena_deprecated = deprecated_base_decorator(athena_backends)
|
||||
|
|
|
|||
|
|
@ -5,14 +5,15 @@ from werkzeug.exceptions import BadRequest
|
|||
|
||||
|
||||
class AthenaClientError(BadRequest):
|
||||
|
||||
def __init__(self, code, message):
|
||||
super(AthenaClientError, self).__init__()
|
||||
self.description = json.dumps({
|
||||
"Error": {
|
||||
"Code": code,
|
||||
"Message": message,
|
||||
'Type': "InvalidRequestException",
|
||||
},
|
||||
'RequestId': '6876f774-7273-11e4-85dc-39e55ca848d1',
|
||||
})
|
||||
self.description = json.dumps(
|
||||
{
|
||||
"Error": {
|
||||
"Code": code,
|
||||
"Message": message,
|
||||
"Type": "InvalidRequestException",
|
||||
},
|
||||
"RequestId": "6876f774-7273-11e4-85dc-39e55ca848d1",
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,31 +19,30 @@ class TaggableResourceMixin(object):
|
|||
@property
|
||||
def arn(self):
|
||||
return "arn:aws:athena:{region}:{account_id}:{resource_name}".format(
|
||||
region=self.region,
|
||||
account_id=ACCOUNT_ID,
|
||||
resource_name=self.resource_name)
|
||||
region=self.region, account_id=ACCOUNT_ID, resource_name=self.resource_name
|
||||
)
|
||||
|
||||
def create_tags(self, tags):
|
||||
new_keys = [tag_set['Key'] for tag_set in tags]
|
||||
self.tags = [tag_set for tag_set in self.tags
|
||||
if tag_set['Key'] not in new_keys]
|
||||
new_keys = [tag_set["Key"] for tag_set in tags]
|
||||
self.tags = [tag_set for tag_set in self.tags if tag_set["Key"] not in new_keys]
|
||||
self.tags.extend(tags)
|
||||
return self.tags
|
||||
|
||||
def delete_tags(self, tag_keys):
|
||||
self.tags = [tag_set for tag_set in self.tags
|
||||
if tag_set['Key'] not in tag_keys]
|
||||
self.tags = [tag_set for tag_set in self.tags if tag_set["Key"] not in tag_keys]
|
||||
return self.tags
|
||||
|
||||
|
||||
class WorkGroup(TaggableResourceMixin, BaseModel):
|
||||
|
||||
resource_type = 'workgroup'
|
||||
state = 'ENABLED'
|
||||
resource_type = "workgroup"
|
||||
state = "ENABLED"
|
||||
|
||||
def __init__(self, athena_backend, name, configuration, description, tags):
|
||||
self.region_name = athena_backend.region_name
|
||||
super(WorkGroup, self).__init__(self.region_name, "workgroup/{}".format(name), tags)
|
||||
super(WorkGroup, self).__init__(
|
||||
self.region_name, "workgroup/{}".format(name), tags
|
||||
)
|
||||
self.athena_backend = athena_backend
|
||||
self.name = name
|
||||
self.description = description
|
||||
|
|
@ -66,14 +65,17 @@ class AthenaBackend(BaseBackend):
|
|||
return work_group
|
||||
|
||||
def list_work_groups(self):
|
||||
return [{
|
||||
'Name': wg.name,
|
||||
'State': wg.state,
|
||||
'Description': wg.description,
|
||||
'CreationTime': time.time(),
|
||||
} for wg in self.work_groups.values()]
|
||||
return [
|
||||
{
|
||||
"Name": wg.name,
|
||||
"State": wg.state,
|
||||
"Description": wg.description,
|
||||
"CreationTime": time.time(),
|
||||
}
|
||||
for wg in self.work_groups.values()
|
||||
]
|
||||
|
||||
|
||||
athena_backends = {}
|
||||
for region in boto3.Session().get_available_regions('athena'):
|
||||
for region in boto3.Session().get_available_regions("athena"):
|
||||
athena_backends[region] = AthenaBackend(region)
|
||||
|
|
|
|||
|
|
@ -5,31 +5,37 @@ from .models import athena_backends
|
|||
|
||||
|
||||
class AthenaResponse(BaseResponse):
|
||||
|
||||
@property
|
||||
def athena_backend(self):
|
||||
return athena_backends[self.region]
|
||||
|
||||
def create_work_group(self):
|
||||
name = self._get_param('Name')
|
||||
description = self._get_param('Description')
|
||||
configuration = self._get_param('Configuration')
|
||||
tags = self._get_param('Tags')
|
||||
work_group = self.athena_backend.create_work_group(name, configuration, description, tags)
|
||||
name = self._get_param("Name")
|
||||
description = self._get_param("Description")
|
||||
configuration = self._get_param("Configuration")
|
||||
tags = self._get_param("Tags")
|
||||
work_group = self.athena_backend.create_work_group(
|
||||
name, configuration, description, tags
|
||||
)
|
||||
if not work_group:
|
||||
return json.dumps({
|
||||
'__type': 'InvalidRequestException',
|
||||
'Message': 'WorkGroup already exists',
|
||||
}), dict(status=400)
|
||||
return json.dumps({
|
||||
"CreateWorkGroupResponse": {
|
||||
"ResponseMetadata": {
|
||||
"RequestId": "384ac68d-3775-11df-8963-01868b7c937a",
|
||||
return (
|
||||
json.dumps(
|
||||
{
|
||||
"__type": "InvalidRequestException",
|
||||
"Message": "WorkGroup already exists",
|
||||
}
|
||||
),
|
||||
dict(status=400),
|
||||
)
|
||||
return json.dumps(
|
||||
{
|
||||
"CreateWorkGroupResponse": {
|
||||
"ResponseMetadata": {
|
||||
"RequestId": "384ac68d-3775-11df-8963-01868b7c937a"
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
def list_work_groups(self):
|
||||
return json.dumps({
|
||||
"WorkGroups": self.athena_backend.list_work_groups()
|
||||
})
|
||||
return json.dumps({"WorkGroups": self.athena_backend.list_work_groups()})
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
from __future__ import unicode_literals
|
||||
from .responses import AthenaResponse
|
||||
|
||||
url_bases = [
|
||||
"https?://athena.(.+).amazonaws.com",
|
||||
]
|
||||
url_bases = ["https?://athena.(.+).amazonaws.com"]
|
||||
|
||||
url_paths = {
|
||||
'{0}/$': AthenaResponse.dispatch,
|
||||
}
|
||||
url_paths = {"{0}/$": AthenaResponse.dispatch}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue