Merge pull request #1571 from CarlosNihelton/ad-post-vs-get
Turns AD validation methods into POST
This commit is contained in:
commit
236e56031e
|
@ -425,14 +425,14 @@ class API:
|
|||
def GET() -> bool: ...
|
||||
|
||||
class check_domain_name:
|
||||
def GET(domain_name: Payload[str]) \
|
||||
def POST(domain_name: Payload[str]) \
|
||||
-> List[AdDomainNameValidation]: ...
|
||||
|
||||
class check_admin_name:
|
||||
def GET(admin_name: Payload[str]) -> AdAdminNameValidation: ...
|
||||
def POST(admin_name: Payload[str]) -> AdAdminNameValidation: ...
|
||||
|
||||
class check_password:
|
||||
def GET(password: Payload[str]) -> AdPasswordValidation: ...
|
||||
def POST(password: Payload[str]) -> AdPasswordValidation: ...
|
||||
|
||||
|
||||
class LinkAction(enum.Enum):
|
||||
|
|
|
@ -119,11 +119,11 @@ class ADController(SubiquityController):
|
|||
self.model.conn_info = data
|
||||
await self.configured()
|
||||
|
||||
async def check_admin_name_GET(self, admin_name: str) \
|
||||
async def check_admin_name_POST(self, admin_name: str) \
|
||||
-> AdAdminNameValidation:
|
||||
return AdValidators.admin_user_name(admin_name)
|
||||
|
||||
async def check_domain_name_GET(self, domain_name: str) \
|
||||
async def check_domain_name_POST(self, domain_name: str) \
|
||||
-> List[AdDomainNameValidation]:
|
||||
result = AdValidators.domain_name(domain_name)
|
||||
if AdDomainNameValidation.OK in result:
|
||||
|
@ -133,7 +133,7 @@ class ADController(SubiquityController):
|
|||
|
||||
return list(result)
|
||||
|
||||
async def check_password_GET(self, password: str) -> AdPasswordValidation:
|
||||
async def check_password_POST(self, password: str) -> AdPasswordValidation:
|
||||
return AdValidators.password(password)
|
||||
|
||||
async def has_support_GET(self) -> bool:
|
||||
|
|
|
@ -1672,27 +1672,27 @@ class TestActiveDirectory(TestAPI):
|
|||
self.assertIsNone(result)
|
||||
|
||||
# Rejects empty password.
|
||||
result = await instance.get(endpoint+'/check_password',
|
||||
result = await instance.post(endpoint+'/check_password',
|
||||
data='')
|
||||
self.assertEqual('EMPTY', result)
|
||||
|
||||
# Rejects invalid domain controller names.
|
||||
result = await instance.get(endpoint + '/check_domain_name',
|
||||
result = await instance.post(endpoint + '/check_domain_name',
|
||||
data='..ubuntu.com')
|
||||
|
||||
self.assertIn('MULTIPLE_DOTS', result)
|
||||
|
||||
# Leverages the stub ping strategy
|
||||
result = await instance.get(endpoint + '/check_domain_name',
|
||||
result = await instance.post(endpoint + '/check_domain_name',
|
||||
data='rockbuntu.com')
|
||||
self.assertIn('REALM_NOT_FOUND', result)
|
||||
|
||||
# Rejects invalid usernames.
|
||||
result = await instance.get(endpoint + '/check_admin_name',
|
||||
result = await instance.post(endpoint + '/check_admin_name',
|
||||
data='ubuntu;pro')
|
||||
self.assertEqual('INVALID_CHARS', result)
|
||||
|
||||
# Notice that lowercase is not required.
|
||||
result = await instance.get(endpoint + '/check_admin_name',
|
||||
result = await instance.post(endpoint + '/check_admin_name',
|
||||
data='$Ubuntu')
|
||||
self.assertEqual('OK', result)
|
||||
|
|
Loading…
Reference in New Issue