Merge "Move username and password to restore_auth"

This commit is contained in:
Jenkins 2016-09-25 09:24:50 +00:00 committed by Gerrit Code Review
commit 99e1b9fc6e
4 changed files with 42 additions and 14 deletions

View File

@ -206,11 +206,12 @@ def scheduled_operation_get(request, scheduled_operation_id):
def restore_create(request, provider_id, checkpoint_id,
restore_target, parameters):
restore_target, parameters, restore_auth):
return karborclient(request).restores.create(provider_id,
checkpoint_id,
restore_target,
parameters)
parameters,
restore_auth)
def restore_delete(request, restore_id):

View File

@ -14,6 +14,7 @@
from django import forms
from django.utils.translation import ugettext_lazy as _
from django.views.decorators.debug import sensitive_variables # noqa
from horizon import exceptions
from horizon import forms as horizon_forms
@ -31,6 +32,11 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
widget=forms.HiddenInput(),
required=False)
restore_target = forms.CharField(label=_("Restore Target"))
restore_target_username = forms.CharField(
label=_("Restore Target Username"))
restore_target_password = forms.CharField(
label=_("Restore Target Password"),
widget=forms.PasswordInput())
provider = forms.CharField(
widget=forms.HiddenInput(attrs={"class": "provider"}))
parameters = forms.CharField(
@ -45,15 +51,23 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
provider = karborclient.provider_get(request, provider_id)
self.fields['provider'].initial = json.dumps(provider._info)
@sensitive_variables('restore_target_password')
def handle(self, request, data):
try:
data_parameters = json.loads(data["parameters"])
restore_auth = {
"type": "password",
"username": data["restore_target_username"],
"password": data["restore_target_password"],
}
new_restore = karborclient.restore_create(
request,
provider_id=data["provider_id"],
checkpoint_id=data["checkpoint_id"],
restore_target=data["restore_target"],
parameters=json.loads(data["parameters"]))
messages.success(request, _("Checkpoint restore initiated."))
parameters=data_parameters,
restore_auth=restore_auth)
messages.success(request, _("Checkpoint restore initiated"))
return new_restore
except Exception:
exceptions.handle(request, _('Unable to restore checkpoint.'))

View File

@ -325,17 +325,21 @@ class karborApiTests(test.APITestCase):
restore = self.restores.first()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.create(restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"]).AndReturn(restore)
karborclient.restores.create(
restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"],
restore["restore_auth"]
).AndReturn(restore)
self.mox.ReplayAll()
ret_val = karbor.restore_create(self.request,
restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"])
restore["parameters"],
restore["restore_auth"])
self.assertEqual(restore["id"], ret_val["id"])
def test_restore_delete(self):
@ -438,7 +442,8 @@ class karborApiTests(test.APITestCase):
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list[:page_size + 1])
sort=None
).AndReturn(restore_list[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
self.request, paginate=True)

View File

@ -126,7 +126,9 @@ def data(TEST):
"provider_id": "fake_provider_id",
"checkpoint_id": "fake_checkpoint_id",
"restore_target": "192.168.0.1:8080/v2.0",
"parameters": {"username": "admin"},
"parameters": {},
"restore_auth": {"type": "password", "username": "admin",
"password": "test"},
"status": "IN PROGRESS"
}
resource_dict_2 = {
@ -135,7 +137,9 @@ def data(TEST):
"provider_id": "fake_provider_id2",
"checkpoint_id": "fake_checkpoint_id2",
"restore_target": "192.168.0.1:8080/v2.0",
"parameters": {"username": "admin"},
"parameters": {},
"restore_auth": {"type": "password", "username": "admin",
"password": "test"},
"status": "IN PROGRESS"
}
resource_dict_3 = {
@ -144,7 +148,9 @@ def data(TEST):
"provider_id": "fake_provider_id3",
"checkpoint_id": "fake_checkpoint_id3",
"restore_target": "192.168.0.1:8080/v2.0",
"parameters": {"username": "admin"},
"parameters": {},
"restore_auth": {"type": "password", "username": "admin",
"password": "test"},
"status": "IN PROGRESS"
}
resource_dict_4 = {
@ -153,7 +159,9 @@ def data(TEST):
"provider_id": "fake_provider_id4",
"checkpoint_id": "fake_checkpoint_id4",
"restore_target": "192.168.0.1:8080/v2.0",
"parameters": {"username": "admin"},
"parameters": {},
"restore_auth": {"type": "password", "username": "admin",
"password": "test"},
"status": "IN PROGRESS"
}