~ubuntu-branches/ubuntu/raring/nova/raring-proposed

« back to all changes in this revision

Viewing changes to nova/tests/api/openstack/compute/contrib/test_deferred_delete.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Adam Gandelman, Chuck Short
  • Date: 2012-11-23 09:04:58 UTC
  • mfrom: (1.1.66)
  • Revision ID: package-import@ubuntu.com-20121123090458-91565o7aev1i1h71
Tags: 2013.1~g1-0ubuntu1
[ Adam Gandelman ]
* debian/control: Ensure novaclient is upgraded with nova,
  require python-keystoneclient >= 1:2.9.0. (LP: #1073289)
* debian/patches/{ubuntu/*, rbd-security.patch}: Dropped, applied
  upstream.
* debian/control: Add python-testtools to Build-Depends.

[ Chuck Short ]
* New upstream version.
* Refreshed debian/patches/avoid_setuptools_git_dependency.patch.
* debian/rules: FTBFS if missing binaries.
* debian/nova-scheudler.install: Add missing rabbit-queues and
  nova-rpc-zmq-receiver.
* Remove nova-volume since it doesnt exist anymore, transition to cinder-*.
* debian/rules: install apport hook in the right place.
* debian/patches/ubuntu-show-tests.patch: Display test failures.
* debian/control: Add depends on genisoimage
* debian/control: Suggest guestmount.
* debian/control: Suggest websockify. (LP: #1076442)
* debian/nova.conf: Disable nova-volume service.
* debian/control: Depend on xen-system-* rather than the hypervisor.
* debian/control, debian/mans/nova-conductor.8, debian/nova-conductor.init,
  debian/nova-conductor.install, debian/nova-conductor.logrotate
  debian/nova-conductor.manpages, debian/nova-conductor.postrm
  debian/nova-conductor.upstart.in: Add nova-conductor service.
* debian/control: Add python-fixtures as a build deps.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
import webob
19
19
 
20
20
from nova.api.openstack.compute.contrib import deferred_delete
21
 
from nova import compute
22
 
import nova.context
 
21
from nova.compute import api as compute_api
 
22
from nova import context
23
23
from nova import exception
24
24
from nova import test
25
25
 
35
35
        self.extension = deferred_delete.DeferredDeleteController()
36
36
        self.fake_input_dict = {}
37
37
        self.fake_uuid = 'fake_uuid'
38
 
        self.fake_context = nova.context.RequestContext('fake', 'fake')
 
38
        self.fake_context = context.RequestContext('fake', 'fake')
39
39
        self.fake_req = FakeRequest(self.fake_context)
40
40
 
41
41
    def test_force_delete(self):
42
 
        self.mox.StubOutWithMock(compute.API, 'get')
43
 
        self.mox.StubOutWithMock(compute.API, 'force_delete')
 
42
        self.mox.StubOutWithMock(compute_api.API, 'get')
 
43
        self.mox.StubOutWithMock(compute_api.API, 'force_delete')
44
44
 
45
45
        fake_instance = 'fake_instance'
46
46
 
47
 
        compute.API.get(self.fake_context, self.fake_uuid).AndReturn(
 
47
        compute_api.API.get(self.fake_context, self.fake_uuid).AndReturn(
48
48
                fake_instance)
49
 
        compute.API.force_delete(self.fake_context, fake_instance)
 
49
        compute_api.API.force_delete(self.fake_context, fake_instance)
50
50
 
51
51
        self.mox.ReplayAll()
52
52
        res = self.extension._force_delete(self.fake_req, self.fake_uuid,
54
54
        self.assertEqual(res.status_int, 202)
55
55
 
56
56
    def test_force_delete_raises_conflict_on_invalid_state(self):
57
 
        self.mox.StubOutWithMock(compute.API, 'get')
58
 
        self.mox.StubOutWithMock(compute.API, 'force_delete')
 
57
        self.mox.StubOutWithMock(compute_api.API, 'get')
 
58
        self.mox.StubOutWithMock(compute_api.API, 'force_delete')
59
59
 
60
60
        fake_instance = 'fake_instance'
61
61
 
62
 
        compute.API.get(self.fake_context, self.fake_uuid).AndReturn(
 
62
        compute_api.API.get(self.fake_context, self.fake_uuid).AndReturn(
63
63
                fake_instance)
64
 
        compute.API.force_delete(self.fake_context, fake_instance).AndRaise(
 
64
        compute_api.API.force_delete(self.fake_context, fake_instance)\
 
65
            .AndRaise(
65
66
                exception.InstanceInvalidState)
66
67
 
67
68
        self.mox.ReplayAll()
70
71
                self.fake_input_dict)
71
72
 
72
73
    def test_restore(self):
73
 
        self.mox.StubOutWithMock(compute.API, 'get')
74
 
        self.mox.StubOutWithMock(compute.API, 'restore')
 
74
        self.mox.StubOutWithMock(compute_api.API, 'get')
 
75
        self.mox.StubOutWithMock(compute_api.API, 'restore')
75
76
 
76
77
        fake_instance = 'fake_instance'
77
78
 
78
 
        compute.API.get(self.fake_context, self.fake_uuid).AndReturn(
 
79
        compute_api.API.get(self.fake_context, self.fake_uuid).AndReturn(
79
80
                fake_instance)
80
 
        compute.API.restore(self.fake_context, fake_instance)
 
81
        compute_api.API.restore(self.fake_context, fake_instance)
81
82
 
82
83
        self.mox.ReplayAll()
83
84
        res = self.extension._restore(self.fake_req, self.fake_uuid,
85
86
        self.assertEqual(res.status_int, 202)
86
87
 
87
88
    def test_restore_raises_conflict_on_invalid_state(self):
88
 
        self.mox.StubOutWithMock(compute.API, 'get')
89
 
        self.mox.StubOutWithMock(compute.API, 'restore')
 
89
        self.mox.StubOutWithMock(compute_api.API, 'get')
 
90
        self.mox.StubOutWithMock(compute_api.API, 'restore')
90
91
 
91
92
        fake_instance = 'fake_instance'
92
93
 
93
 
        compute.API.get(self.fake_context, self.fake_uuid).AndReturn(
 
94
        compute_api.API.get(self.fake_context, self.fake_uuid).AndReturn(
94
95
                fake_instance)
95
 
        compute.API.restore(self.fake_context, fake_instance).AndRaise(
 
96
        compute_api.API.restore(self.fake_context, fake_instance).AndRaise(
96
97
                exception.InstanceInvalidState)
97
98
 
98
99
        self.mox.ReplayAll()