Beispiel #1
0
    def test_create_raises_UnknownServiceError(self):
        _test_name = 'test_create_UnknownServiceError'
        _test_runtime_properties = {'resource_config': {}}
        _ctx = self.get_mock_ctx(
            _test_name,
            test_properties=NODE_PROPERTIES,
            test_runtime_properties=_test_runtime_properties,
            type_hierarchy=INSTANCE_READ_REPLICA_TH)
        current_ctx.set(_ctx)

        with self.assertRaises(UnknownServiceError) as error:
            instance_read_replica.create(ctx=_ctx,
                                         resource_config=None,
                                         iface=None)

        self.assertEqual(
            str(error.exception),
            "Unknown service: 'rds'. Valid service names are: ['rds']")

        self.fake_boto.assert_called_with('rds', **CLIENT_CONFIG)
Beispiel #2
0
    def test_create(self):
        _test_name = 'test_create'
        _ctx = self.get_mock_ctx(_test_name,
                                 test_properties=NODE_PROPERTIES,
                                 test_runtime_properties=RUNTIME_PROPERTIES,
                                 type_hierarchy=INSTANCE_READ_REPLICA_TH)
        current_ctx.set(_ctx)

        self.fake_client.create_db_instance_read_replica = MagicMock(
            return_value={
                'DBInstance': {
                    'DBInstanceIdentifier': 'devdbinstance',
                    'DBInstanceArn': 'DBInstanceArn'
                }
            })

        self.fake_client.describe_db_instances = MagicMock(
            return_value={'DBInstances': [{
                'DBInstanceStatus': 'available'
            }]})

        instance_read_replica.create(ctx=_ctx,
                                     resource_config=None,
                                     iface=None)

        self.fake_boto.assert_called_with('rds', **CLIENT_CONFIG)
        self.fake_client.create_db_instance_read_replica.assert_called_with(
            AvailabilityZone='us-east-1d',
            DBInstanceClass='db.t2.small',
            DBInstanceIdentifier='devdbinstance-replica')
        self.fake_client.describe_db_instances.assert_called_with(
            DBInstanceIdentifier='devdbinstance')
        self.assertEqual(_ctx.instance.runtime_properties['aws_resource_id'],
                         RUNTIME_PROPERTIES_AFTER_CREATE['aws_resource_id'])
        self.assertEqual(_ctx.instance.runtime_properties['aws_resource_arn'],
                         RUNTIME_PROPERTIES_AFTER_CREATE['aws_resource_arn'])

        self.assertEqual(_ctx.instance.runtime_properties['resource_config'],
                         RUNTIME_PROPERTIES_AFTER_CREATE['resource_config'])