def test_from_marathon_app_data(self, _r, controller): """ A model imported from app_data generates the same app_data as the model it was imported from. """ app_data = controller.get_marathon_app_data() new_controller = DockerController.from_marathon_app_data( controller.owner, controller.organization, app_data) assert app_data == new_controller.get_marathon_app_data()
def post(self, request): form = HiddenImportForm(request.POST) assert form.is_valid() controller = DockerController.from_marathon_app_data( self.request.user, active_organization(self.request), json.loads(form.cleaned_data['app_data']), form.cleaned_data['name']) tasks.start_new_controller.delay(controller.pk) messages.info(self.request, u"App created: {name}".format( **form.cleaned_data)) return HttpResponseRedirect('/')
def post(self, request): form = HiddenImportForm(request.POST) assert form.is_valid() controller = DockerController.from_marathon_app_data( self.request.user, active_organization(self.request), json.loads(form.cleaned_data['app_data']), form.cleaned_data['name']) tasks.start_new_controller.delay(controller.pk) messages.info(self.request, u"App created: {name}".format(**form.cleaned_data)) return HttpResponseRedirect('/')
def test_from_marathon_app_data_args(self, _r, controller, u): """ A model imported from app_data generates the same app_data as the model it was imported from. """ if controller.rabbitmq_vhost_needed and controller.rabbitmq_vhost_name: self.mock_successful_new_vhost( controller.rabbitmq_vhost_name, controller.rabbitmq_vhost_username) u.return_value = controller.rabbitmq_vhost_username app_data = controller.get_marathon_app_data() new_controller = DockerController.from_marathon_app_data( controller.owner, controller.organization, app_data) assert app_data == new_controller.get_marathon_app_data()
def test_from_marathon_app_data_with_name(self, _r, controller, name): """ A model imported from app_data generates the same app_data as the model it was imported from, but with the name field overridden. We limit the number of examples we generate because we don't need hundreds of examples to verify that this behaviour is correct. """ app_data = controller.get_marathon_app_data() new_controller = DockerController.from_marathon_app_data( controller.owner, controller.organization, app_data, name=name) assert new_controller.name == name app_data_with_name = json.loads(json.dumps(app_data)) app_data_with_name["labels"]["name"] = name assert app_data_with_name == new_controller.get_marathon_app_data()
def test_from_marathon_app_data_with_name(self, _r, controller, name, u): """ A model imported from app_data generates the same app_data as the model it was imported from, but with the name field overridden. We limit the number of examples we generate because we don't need hundreds of examples to verify that this behaviour is correct. """ if controller.rabbitmq_vhost_needed and controller.rabbitmq_vhost_name: self.mock_successful_new_vhost( controller.rabbitmq_vhost_name, controller.rabbitmq_vhost_username) u.return_value = controller.rabbitmq_vhost_username app_data = controller.get_marathon_app_data() new_controller = DockerController.from_marathon_app_data( controller.owner, controller.organization, app_data, name=name) assert new_controller.name == name app_data_with_name = json.loads(json.dumps(app_data)) app_data_with_name["labels"]["name"] = name assert app_data_with_name == new_controller.get_marathon_app_data()