Пример #1
0
    def test_get(self):
        size_patcher = patch(
            'docc.size.Size.get',
            new=MagicMock(return_value=Size(66, "512M"))
        )
        size_patcher.start()

        image_patcher = patch(
            'docc.image.Image.get',
            MagicMock(
                return_value=Image(25306, "Ubuntu 1", "Ubuntu Description")
            )
        )
        image_patcher.start()

        region_patcher = patch(
            'docc.region.Region.get',
            MagicMock(return_value=Region(1, "USA"))
        )
        region_patcher.start()

        def teardown():
            size_patcher.stop()
            region_patcher.stop()
            image_patcher.stop()

        self.addCleanup(teardown)

        credentials = Credentials("abc", "def")
        service = Service(credentials)
        response = {
            "status": "OK",
            "droplet": {
                "id": 151220,
                "name": "cloud.segonds.org",
                "image_id": 25306,
                "size_id": 66,
                "region_id": 1,
                "backups_active": None,
                "ip_address": "208.68.38.181",
                "status": "active"
            }
        }

        mock = MagicMock(return_value=response)
        service.get = mock
        droplet = Droplet.get(service, 151220)
        self.assertEquals(droplet.id, 151220)
        self.assertEquals(droplet.name, "cloud.segonds.org")
        self.assertEquals(droplet.size, Size(66, "512M"))
        self.assertEquals(droplet.status, Status.ACTIVE)