def test_delete_container(self): container = self.containers.get(name=u"container_two\u6346") api.swift.swift_delete_container(IsA(http.HttpRequest), container.name) self.mox.ReplayAll() action_string = u"containers__delete__%s" % container.name form_data = {"action": action_string} req = self.factory.post(CONTAINER_INDEX_URL, form_data) table = tables.ContainersTable(req, self.containers.list()) handled = table.maybe_handle() self.assertEqual(handled['location'], CONTAINER_INDEX_URL)
def test_update_container_to_public(self): container = self.containers.get(name=u"container one%\u6346") api.swift.swift_update_container(IsA(http.HttpRequest), container.name, metadata=({'is_public': True})) self.mox.ReplayAll() action_string = u"containers__make_public__%s" % container.name form_data = {"action": action_string} req = self.factory.post(CONTAINER_INDEX_URL, form_data) table = tables.ContainersTable(req, self.containers.list()) handled = table.maybe_handle() self.assertEqual(handled['location'], CONTAINER_INDEX_URL)
def test_delete_container_nonempty(self): container = self.containers.first() objects = self.objects.list() api.swift.swift_get_objects(IsA(http.HttpRequest), container.name).AndReturn([objects, False]) self.mox.ReplayAll() action_string = u"containers__delete__%s" % container.name form_data = {"action": action_string} req = self.factory.post(CONTAINER_INDEX_URL, form_data) table = tables.ContainersTable(req, self.containers.list()) handled = table.maybe_handle() self.assertEqual(handled['location'], CONTAINER_INDEX_URL) self.assertEqual(unicode(list(req._messages)[0].message), u"The container cannot be deleted " u"since it's not empty.")
def test_delete_container_nonempty(self): container = self.containers.first() objects = self.objects.list() api.swift.swift_get_objects(IsA(http.HttpRequest), container.name).AndReturn([objects, False]) self.mox.ReplayAll() action_string = u"containers__delete__%s" % container.name form_data = {"action": action_string} req = self.factory.post(CONTAINER_INDEX_URL, form_data) req.META['HTTP_REFERER'] = '%s/%s' % (CONTAINER_INDEX_URL, container.name) table = tables.ContainersTable(req, self.containers.list()) handled = table.maybe_handle() self.assertEqual(handled.status_code, 302) self.assertEqual(six.text_type(list(req._messages)[0].message), u"The container cannot be deleted " u"since it is not empty.")
def test_delete_container_nonempty(self): container = self.containers.first() objects = self.objects.list() api.swift.swift_get_objects(IsA(http.HttpRequest), container.name).AndReturn([objects, False]) self.mox.ReplayAll() action_string = u"containers__delete__%s" % container.name form_data = {"action": action_string} req = self.factory.post(CONTAINER_INDEX_URL, form_data) req.META['HTTP_REFERER'] = '%s/%s' % (CONTAINER_INDEX_URL, container.name) table = tables.ContainersTable(req, self.containers.list()) # I'd prefer to call a self.assertRedirectnoFollow, # but constructing the response object is a different paradigm # from constructing the table and calling the maybe_handle method. # I'd appreciate any suggestions on how this should properly be done. self.assertRaises(exceptions.Http302, table.maybe_handle) self.assertEqual(unicode(list(req._messages)[0].message), u"The container cannot be deleted " u"since it's not empty.")