def test_container_acl_remove_read_ref_invalid(self): ret_container = self.container ret_container.headers = [('x-container-read', 'test'), ('x-container-write', 'fuga')] formData = { 'container_name': 'containerName', 'method': 'ContainerAclRemove', 'header_name': '*', 'acl_type': 'read', 'acl_value': 'test, .r:-' } self.mox.StubOutWithMock(messages, 'error') messages.error(IgnoreArg(), IsA(str)) self.mox.StubOutWithMock(api, 'swift_get_container') api.swift_get_container(IsA(http.HttpRequest), self.container.name).AndReturn(ret_container) self.mox.ReplayAll() res = self.client.post(reverse( 'dash_containers_acl', args=[self.request.user.tenant_id, self.container.name]), formData, follow=False) self.assertTemplateUsed(res, 'django_openstack/dash/containers/acl.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_acl_get(self): self.mox.StubOutWithMock(api, 'swift_get_container') ret_container = self.container ret_container.headers = [('x-container-read','test'), ('x-container-write', 'fuga') ] api.swift_get_container( IsA(http.HttpRequest), self.container.name).AndReturn(ret_container) self.mox.ReplayAll() res = self.client.get(reverse('dash_containers_acl', args=['tenant', self.container.name])) self.assertTemplateUsed(res, 'django_openstack/dash/containers/acl.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_public_get(self): self.mox.StubOutWithMock(api, 'swift_get_container') api.swift_get_container( IsA(http.HttpRequest), self.container.name).AndReturn(self.container) self.mox.StubOutWithMock(api, 'swift_get_objects') api.swift_get_objects( IsA(http.HttpRequest), self.container.name).AndReturn([self.object]) self.mox.ReplayAll() res = self.client.get(reverse('dash_containers_public', args=['tenant', self.container.name])) self.assertTemplateUsed(res, 'django_openstack/dash/containers/public.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_acl_get(self): self.mox.StubOutWithMock(api, 'swift_get_container') ret_container = self.container ret_container.headers = [('x-container-read', 'test'), ('x-container-write', 'fuga')] api.swift_get_container(IsA(http.HttpRequest), self.container.name).AndReturn(ret_container) self.mox.ReplayAll() res = self.client.get( reverse('dash_containers_acl', args=['tenant', self.container.name])) self.assertTemplateUsed(res, 'django_openstack/dash/containers/acl.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_public_get(self): self.mox.StubOutWithMock(api, 'swift_get_container') api.swift_get_container(IsA(http.HttpRequest), self.container.name).AndReturn(self.container) self.mox.StubOutWithMock(api, 'swift_get_objects') api.swift_get_objects(IsA(http.HttpRequest), self.container.name).AndReturn([self.object]) self.mox.ReplayAll() res = self.client.get( reverse('dash_containers_public', args=['tenant', self.container.name])) self.assertTemplateUsed( res, 'django_openstack/dash/containers/public.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_acl_put_invalud_acl_type_empty(self): formData = {'container_name' : 'containerName', 'method' : 'ContainerAcl', 'acl_add' : 'test', 'write_acl' : ''} self.mox.StubOutWithMock(api, 'swift_get_container') ret_container = self.container ret_container.headers = [('x-container-read','test'), ('x-container-write', 'fuga') ] api.swift_get_container( IsA(http.HttpRequest), self.container.name).AndReturn(ret_container) self.mox.ReplayAll() res = self.client.post(reverse('dash_containers_acl', args=[self.request.user.tenant_id, self.container.name]), formData) self.assertTemplateUsed(res, 'django_openstack/dash/containers/acl.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def public(request, tenant_id, container_name): try: container = api.swift_get_container(request, container_name) objects = [(o.name, o.name) for o in api.swift_get_objects(request, container_name)] except ResponseError, e: messages.error(request, 'Unable to retrive container meta data for public. \ Perhaps you do not have right permission : %s' % str(e)) return shortcuts.redirect('dash_containers', tenant_id)
def public(request, tenant_id, container_name): try: container = api.swift_get_container(request, container_name) objects = [(o.name, o.name) for o in api.swift_get_objects(request, container_name)] except ResponseError, e: messages.error( request, 'Unable to retrive container meta data for public. \ Perhaps you do not have right permission : %s' % str(e)) return shortcuts.redirect('dash_containers', tenant_id)
def test_container_public_put(self): ret_container = self.container ret_container.headers = [('x-container-meta-web-index','test'), ('x-container-meta-web-listing-css', 'css'), ('x-container-meta-web-error', 'err'), ('x-container-meta-web-listing', 'fuga') ] formData = {'container_name':'containerName', 'method':'MakePublicContainer', 'index_object_name' : self.object.name, 'css_object_name' : self.object.name, 'html_listing' : True, 'public_html' : True, 'use_css_in_listing' : True, 'error' : 'errorsuffix' } self.mox.StubOutWithMock(api, 'swift_get_container') api.swift_get_container( IsA(http.HttpRequest), self.container.name ).AndReturn(ret_container) self.mox.StubOutWithMock(api, 'swift_get_objects') api.swift_get_objects( IsA(http.HttpRequest), self.container.name ).AndReturn([self.object]) self.mox.StubOutWithMock(api, 'swift_set_container_info') api.swift_set_container_info( IsA(http.HttpRequest), self.container.name, IgnoreArg()) self.mox.ReplayAll() res = self.client.post(reverse('dash_containers_public', args=['tenant', self.container.name]), formData) #self.assertRedirectsNoFollow(res, reverse('dash_containers_public', # args=[self.request.user.tenant_id, self.container.name])) self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_public_put(self): ret_container = self.container ret_container.headers = [('x-container-meta-web-index', 'test'), ('x-container-meta-web-listing-css', 'css'), ('x-container-meta-web-error', 'err'), ('x-container-meta-web-listing', 'fuga')] formData = { 'container_name': 'containerName', 'method': 'MakePublicContainer', 'index_object_name': self.object.name, 'css_object_name': self.object.name, 'html_listing': True, 'public_html': True, 'use_css_in_listing': True, 'error': 'errorsuffix' } self.mox.StubOutWithMock(api, 'swift_get_container') api.swift_get_container(IsA(http.HttpRequest), self.container.name).AndReturn(ret_container) self.mox.StubOutWithMock(api, 'swift_get_objects') api.swift_get_objects(IsA(http.HttpRequest), self.container.name).AndReturn([self.object]) self.mox.StubOutWithMock(api, 'swift_set_container_info') api.swift_set_container_info(IsA(http.HttpRequest), self.container.name, IgnoreArg()) self.mox.ReplayAll() res = self.client.post( reverse('dash_containers_public', args=['tenant', self.container.name]), formData) #self.assertRedirectsNoFollow(res, reverse('dash_containers_public', # args=[self.request.user.tenant_id, self.container.name])) self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_acl_put_invalud_acl_type_empty(self): formData = { 'container_name': 'containerName', 'method': 'ContainerAcl', 'acl_add': 'test', 'write_acl': '' } self.mox.StubOutWithMock(api, 'swift_get_container') ret_container = self.container ret_container.headers = [('x-container-read', 'test'), ('x-container-write', 'fuga')] api.swift_get_container(IsA(http.HttpRequest), self.container.name).AndReturn(ret_container) self.mox.ReplayAll() res = self.client.post( reverse('dash_containers_acl', args=[self.request.user.tenant_id, self.container.name]), formData) self.assertTemplateUsed(res, 'django_openstack/dash/containers/acl.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def test_container_acl_remove_read_ref_invalid(self): ret_container = self.container ret_container.headers = [('x-container-read','test'), ('x-container-write', 'fuga') ] formData = {'container_name' : 'containerName', 'method' : 'ContainerAclRemove', 'header_name' : '*', 'acl_type' : 'read', 'acl_value' : 'test, .r:-'} self.mox.StubOutWithMock(messages, 'error') messages.error(IgnoreArg(), IsA(str)) self.mox.StubOutWithMock(api, 'swift_get_container') api.swift_get_container( IsA(http.HttpRequest), self.container.name ).AndReturn(ret_container) self.mox.ReplayAll() res = self.client.post(reverse('dash_containers_acl', args=[self.request.user.tenant_id, self.container.name]), formData, follow=False) self.assertTemplateUsed(res, 'django_openstack/dash/containers/acl.html') self.mox.VerifyAll() self.mox.UnsetStubs()
def acl(request, tenant_id, container_name): form, handled = ContainerAcl.maybe_handle(request) if handled: return handled remove_form, handled = ContainerAclRemove.maybe_handle(request) if handled: return handled try: container = api.swift_get_container(request, container_name) except ResponseError, e: messages.error(request, 'Unable to retrive ACL data. \ Perhaps you do not have right permission : %s' % str(e)) return shortcuts.redirect('dash_containers', tenant_id)
def acl(request, tenant_id, container_name): form, handled = ContainerAcl.maybe_handle(request) if handled: return handled remove_form, handled = ContainerAclRemove.maybe_handle(request) if handled: return handled container = api.swift_get_container(request, container_name) read_ref, read_groups, write_ref, write_groups = [],[],[],[] read_acl, write_acl = '', '' for h,v in container.headers: if 'x-container-read' == h.lower(): v = clean_acl('X-Container-Read', v) read_ref, read_groups = parse_acl(v) read_acl = v if 'x-container-write' == h.lower(): v = clean_acl('X-Container-Write', v) write_ref, write_groups = parse_acl(v) write_acl = v #if container.headers.get('x-container-read'): # ref, groups = utils.parse_acl(container.headers.get('x-container-read')) #if container.headers.get('x-container-write'): # ref, groups = utils.parse_acl(container.headers.get('x-container-write')) """ ref, groups = parse_acl('test:test,hoge,.r:*') read_ref, read_groups = ref, groups write_ref, write_groups = ref, groups """ return shortcuts.render_to_response( 'django_openstack/dash/containers/acl.html', { 'container_name' : container_name, 'container' : container, 'acl_form' : form, 'remove_form' : remove_form, 'read_acl_ref' : read_ref, 'read_acl_groups' : read_groups, 'write_acl_ref' : write_ref, 'write_acl_groups' : write_groups, 'write_acl' : write_acl, 'read_acl' : read_acl }, context_instance=template.RequestContext(request))
def acl(request, tenant_id, container_name): form, handled = ContainerAcl.maybe_handle(request) if handled: return handled remove_form, handled = ContainerAclRemove.maybe_handle(request) if handled: return handled container = api.swift_get_container(request, container_name) read_ref, read_groups, write_ref, write_groups = [], [], [], [] read_acl, write_acl = '', '' for h, v in container.headers: if 'x-container-read' == h.lower(): v = clean_acl('X-Container-Read', v) read_ref, read_groups = parse_acl(v) read_acl = v if 'x-container-write' == h.lower(): v = clean_acl('X-Container-Write', v) write_ref, write_groups = parse_acl(v) write_acl = v #if container.headers.get('x-container-read'): # ref, groups = utils.parse_acl(container.headers.get('x-container-read')) #if container.headers.get('x-container-write'): # ref, groups = utils.parse_acl(container.headers.get('x-container-write')) """ ref, groups = parse_acl('test:test,hoge,.r:*') read_ref, read_groups = ref, groups write_ref, write_groups = ref, groups """ return shortcuts.render_to_response( 'django_openstack/dash/containers/acl.html', { 'container_name': container_name, 'container': container, 'acl_form': form, 'remove_form': remove_form, 'read_acl_ref': read_ref, 'read_acl_groups': read_groups, 'write_acl_ref': write_ref, 'write_acl_groups': write_groups, 'write_acl': write_acl, 'read_acl': read_acl }, context_instance=template.RequestContext(request))
def acl(request, tenant_id, container_name): form, handled = ContainerAcl.maybe_handle(request) if handled: return handled remove_form, handled = ContainerAclRemove.maybe_handle(request) if handled: return handled try: container = api.swift_get_container(request, container_name) except ResponseError, e: messages.error( request, 'Unable to retrive ACL data. \ Perhaps you do not have right permission : %s' % str(e)) return shortcuts.redirect('dash_containers', tenant_id)
def public(request, tenant_id, container_name): container = api.swift_get_container(request, container_name) objects = [(o.name, o.name) for o in api.swift_get_objects(request, container_name)] form, handled = MakePublicContainer.maybe_handle(request, objects=objects, headers=container.headers) if handled: return handled #if len(objects) > 0: # form.fields['index_object_name'].initial = objects[0] # form.fields['css_object_name'].initial = objects[0] return shortcuts.render_to_response( 'django_openstack/dash/containers/public.html', { 'container_name' : container_name, 'container': container, 'objects' : objects, 'public_form' : form }, context_instance=template.RequestContext(request))
def meta(request, tenant_id, container_name): form, handled = ContainerMeta.maybe_handle(request) if handled: return handled remove_form, handled = ContainerMetaRemove.maybe_handle(request) if handled: return handled try: container = api.swift_get_container(request, container_name) headers = [] for h, v in container.headers: if h.startswith('x-container-meta'): headers.append((h,v)) except ResponseError, e: messages.error(request, 'Unable to retrive container meta data. \ Perhaps you do not have right permission : %s' % str(e)) return shortcuts.redirect('dash_containers', tenant_id)
def meta(request, tenant_id, container_name): form, handled = ContainerMeta.maybe_handle(request) if handled: return handled remove_form, handled = ContainerMetaRemove.maybe_handle(request) if handled: return handled try: container = api.swift_get_container(request, container_name) headers = [] for h, v in container.headers: if h.startswith('x-container-meta'): headers.append((h, v)) except ResponseError, e: messages.error( request, 'Unable to retrive container meta data. \ Perhaps you do not have right permission : %s' % str(e)) return shortcuts.redirect('dash_containers', tenant_id)
def public(request, tenant_id, container_name): container = api.swift_get_container(request, container_name) objects = [(o.name, o.name) for o in api.swift_get_objects(request, container_name)] form, handled = MakePublicContainer.maybe_handle(request, objects=objects, headers=container.headers) if handled: return handled #if len(objects) > 0: # form.fields['index_object_name'].initial = objects[0] # form.fields['css_object_name'].initial = objects[0] return shortcuts.render_to_response( 'django_openstack/dash/containers/public.html', { 'container_name': container_name, 'container': container, 'objects': objects, 'public_form': form }, context_instance=template.RequestContext(request))
def meta(request, tenant_id, container_name): form, handled = ContainerMeta.maybe_handle(request) if handled: return handled remove_form, handled = ContainerMetaRemove.maybe_handle(request) if handled: return handled container = api.swift_get_container(request, container_name) headers = [] for h, v in container.headers: if h.startswith('x-container-meta'): headers.append((h,v)) return shortcuts.render_to_response( 'django_openstack/dash/containers/meta.html', { 'container_name' : container_name, 'headers' : headers, 'meta_form' : form, 'remove_form' : remove_form }, context_instance=template.RequestContext(request))
def meta(request, tenant_id, container_name): form, handled = ContainerMeta.maybe_handle(request) if handled: return handled remove_form, handled = ContainerMetaRemove.maybe_handle(request) if handled: return handled container = api.swift_get_container(request, container_name) headers = [] for h, v in container.headers: if h.startswith('x-container-meta'): headers.append((h, v)) return shortcuts.render_to_response( 'django_openstack/dash/containers/meta.html', { 'container_name': container_name, 'headers': headers, 'meta_form': form, 'remove_form': remove_form }, context_instance=template.RequestContext(request))