~ubuntu-branches/ubuntu/vivid/horizon/vivid-proposed

« back to all changes in this revision

Viewing changes to openstack_dashboard/dashboards/project/volumes/volumes/tests.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2014-06-17 09:17:40 UTC
  • mfrom: (1.1.41)
  • Revision ID: package-import@ubuntu.com-20140617091740-g73ekvtkxum68uyv
Tags: 1:2014.2~b1-0ubuntu1
* New upstream release.
* debian/control: Open up juno release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# vim: tabstop=4 shiftwidth=4 softtabstop=4
2
 
 
3
1
# Copyright 2012 United States Government as represented by the
4
2
# Administrator of the National Aeronautics and Space Administration.
5
3
# All Rights Reserved.
35
33
 
36
34
 
37
35
VOLUME_INDEX_URL = reverse('horizon:project:volumes:index')
 
36
VOLUME_VOLUMES_TAB_URL = reverse('horizon:project:volumes:volumes_tab')
38
37
 
39
38
 
40
39
class VolumeViewTests(test.TestCase):
101
100
        url = reverse('horizon:project:volumes:volumes:create')
102
101
        res = self.client.post(url, formData)
103
102
 
104
 
        redirect_url = reverse('horizon:project:volumes:index')
 
103
        redirect_url = VOLUME_VOLUMES_TAB_URL
105
104
        self.assertRedirectsNoFollow(res, redirect_url)
106
105
 
107
106
    @test.create_stubs({cinder: ('volume_create',
165
164
        url = reverse('horizon:project:volumes:volumes:create')
166
165
        res = self.client.post(url, formData)
167
166
 
168
 
        redirect_url = reverse('horizon:project:volumes:index')
 
167
        redirect_url = VOLUME_VOLUMES_TAB_URL
169
168
        self.assertRedirectsNoFollow(res, redirect_url)
170
169
 
171
170
    @test.create_stubs({cinder: ('volume_create',
214
213
                                         "snapshot_id=" + str(snapshot.id)]),
215
214
                               formData)
216
215
 
217
 
        redirect_url = reverse('horizon:project:volumes:index')
 
216
        redirect_url = VOLUME_VOLUMES_TAB_URL
218
217
        self.assertRedirectsNoFollow(res, redirect_url)
219
218
 
220
219
    @test.create_stubs({cinder: ('volume_create',
279
278
        self.mox.ReplayAll()
280
279
 
281
280
        url = reverse('horizon:project:volumes:volumes:create')
282
 
        redirect_url = reverse('horizon:project:volumes:index')
 
281
        redirect_url = VOLUME_VOLUMES_TAB_URL
283
282
        res = self.client.post(url, formData)
284
283
        self.assertNoFormErrors(res)
285
284
        self.assertMessageCount(info=1)
351
350
        url = reverse('horizon:project:volumes:volumes:create')
352
351
        res = self.client.post(url, formData)
353
352
 
354
 
        redirect_url = reverse('horizon:project:volumes:index')
 
353
        redirect_url = VOLUME_VOLUMES_TAB_URL
355
354
        self.assertRedirectsNoFollow(res, redirect_url)
356
355
 
357
356
    @test.create_stubs({cinder: ('volume_snapshot_get',
444
443
                                         "image_id=" + str(image.id)]),
445
444
                               formData)
446
445
 
447
 
        redirect_url = reverse('horizon:project:volumes:index')
 
446
        redirect_url = VOLUME_VOLUMES_TAB_URL
448
447
        self.assertRedirectsNoFollow(res, redirect_url)
449
448
 
450
449
    @test.create_stubs({cinder: ('volume_create',
513
512
        url = reverse('horizon:project:volumes:volumes:create')
514
513
        res = self.client.post(url, formData)
515
514
 
516
 
        redirect_url = reverse('horizon:project:volumes:index')
 
515
        redirect_url = VOLUME_VOLUMES_TAB_URL
517
516
        self.assertRedirectsNoFollow(res, redirect_url)
518
517
 
519
518
    @test.create_stubs({cinder: ('volume_type_list',
733
732
 
734
733
        self.mox.ReplayAll()
735
734
 
736
 
        url = reverse('horizon:project:volumes:index')
 
735
        url = VOLUME_INDEX_URL
737
736
        res = self.client.post(url, formData, follow=True)
738
737
        self.assertIn("Scheduled deletion of Volume: Volume name",
739
738
                      [m.message for m in res.context['messages']])
769
768
 
770
769
        self.mox.ReplayAll()
771
770
 
772
 
        url = reverse('horizon:project:volumes:index')
 
771
        url = VOLUME_INDEX_URL
773
772
        res = self.client.post(url, formData, follow=True)
774
773
        self.assertEqual(list(res.context['messages'])[0].message,
775
774
                         u'Unable to delete volume "%s". '
784
783
        volume = self.cinder_volumes.first()
785
784
        servers = [s for s in self.servers.list()
786
785
                   if s.tenant_id == self.request.user.tenant_id]
 
786
        volume.attachments = [{'id': volume.id,
 
787
                               'volume_id': volume.id,
 
788
                               'volume_name': volume.name,
 
789
                               'instance': servers[0],
 
790
                               'device': '/dev/vdb',
 
791
                               'server_id': servers[0].id}]
787
792
 
788
793
        cinder.volume_get(IsA(http.HttpRequest), volume.id).AndReturn(volume)
789
794
        api.nova.server_list(IsA(http.HttpRequest)).AndReturn([servers, False])
792
797
        url = reverse('horizon:project:volumes:volumes:attach',
793
798
                      args=[volume.id])
794
799
        res = self.client.get(url)
 
800
        msg = 'Volume %s on instance %s' % (volume.name, servers[0].name)
 
801
        self.assertContains(res, msg)
795
802
        # Asserting length of 2 accounts for the one instance option,
796
803
        # and the one 'Choose Instance' option.
797
804
        form = res.context['form']
798
805
        self.assertEqual(len(form.fields['instance']._choices),
799
 
                         2)
 
806
                         1)
800
807
        self.assertEqual(res.status_code, 200)
801
808
        self.assertTrue(isinstance(form.fields['device'].widget,
802
809
                                   widgets.TextInput))
870
877
 
871
878
        self.mox.ReplayAll()
872
879
 
873
 
        res = self.client.get(reverse('horizon:project:volumes:index'))
 
880
        res = self.client.get(VOLUME_INDEX_URL)
874
881
        self.assertTemplateUsed(res, 'project/volumes/index.html')
875
882
 
876
883
        volumes = res.context['volumes_table'].data
928
935
 
929
936
        self.mox.ReplayAll()
930
937
 
931
 
        url = reverse('horizon:project:volumes:index') + \
 
938
        url = VOLUME_INDEX_URL + \
932
939
                "?action=row_update&table=volumes&obj_id=" + volume.id
933
940
 
934
941
        res = self.client.get(url, {},
998
1005
                      args=[volume.id])
999
1006
        res = self.client.post(url, formData)
1000
1007
 
1001
 
        redirect_url = reverse('horizon:project:volumes:index')
 
1008
        redirect_url = VOLUME_INDEX_URL
1002
1009
        self.assertRedirectsNoFollow(res, redirect_url)
1003
1010
 
1004
1011
    @test.create_stubs({cinder: ('volume_get',),