示例#1
0
class SnapshotTest(EC2Base):
    def setUp(self):
        super(SnapshotTest, self).setUp()
        self.lock = Lock()
        self.runner = SnapshotRunner()
        self.output = self.capture_logging("aws-snapshot", level=logging.DEBUG)

    def reset_output(self):
        self.output.seek(0, 0)
        self.output.buf = ""

    def create_volume(self, size, zone):
        vol = self.ec2.create_volume(size, zone)
        while True:
            if vol.status == "READY":
                time.sleep(4)
            vol.update(True)

    def test_register(self):
        # Try with non existant instance
        options = Options(instance_id="i-abc", app="abc", unit="foobar")
        self.assertFalse(self.runner.register(options))
        self.assertIn("Invalid instance id", self.output.getvalue())

        # Try with a second volume attached
        vol = self.create_volume(5, self.instances[0].placement)
        self.ec2.attach_volume(vol.id, self.instances[0].id, "/dev/sdf")
        options = Options(instance_id=self.instances[0].id, app="abc", unit="foobar")
        self.assertFalse(self.runner.register(options))

        # Try normally.
        options = Options(instance_id=self.instances[1].id, app="abc", unit="foobar")
        self.assertTrue(self.runner.register(options))

    def test_get_volume(self):
        pass

    def test_get_snapshot_instances(self):
        # Check with non existant record
        item = self.instance_db.new_item("someapp", "i-fooar", {})
        item.save()

    def test_run_period(self):
        pass
示例#2
0
 def setUp(self):
     super(SnapshotTest, self).setUp()
     self.lock = Lock()
     self.runner = SnapshotRunner()
     self.output = self.capture_logging("aws-snapshot", level=logging.DEBUG)