Example #1
0
    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()
Example #2
0
    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()
Example #3
0
    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()
Example #4
0
    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()
Example #5
0
    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()
Example #6
0
    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()
Example #7
0
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)
Example #8
0
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)
Example #9
0
    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()
Example #10
0
    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()
Example #11
0
    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()
Example #12
0
    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()
Example #13
0
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)
Example #14
0
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))
Example #15
0
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))
Example #16
0
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)
Example #17
0
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))
Example #18
0
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)
Example #19
0
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)
Example #20
0
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))
Example #21
0
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))
Example #22
0
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))