Пример #1
0
    def test_domain_creation(self):
        es_client = aws_stack.connect_to_service('es')

        # make sure we cannot re-create same domain name
        self.assertRaises(ClientError,
                          es_client.create_elasticsearch_domain,
                          DomainName=TEST_DOMAIN_NAME)

        # get domain status
        status = es_client.describe_elasticsearch_domain(
            DomainName=TEST_DOMAIN_NAME)
        self.assertEqual(status['DomainStatus']['DomainName'],
                         TEST_DOMAIN_NAME)
        self.assertTrue(status['DomainStatus']['Created'])
        self.assertFalse(status['DomainStatus']['Processing'])
        self.assertFalse(status['DomainStatus']['Deleted'])
        self.assertEqual(status['DomainStatus']['Endpoint'],
                         aws_stack.get_elasticsearch_endpoint())
        self.assertTrue(status['DomainStatus']['EBSOptions']['EBSEnabled'])

        # make sure we can fake adding tags to a domain
        response = es_client.add_tags(ARN='string',
                                      TagList=[{
                                          'Key': 'SOME_TAG',
                                          'Value': 'SOME_VALUE'
                                      }])
        self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200)
Пример #2
0
def get_domain_status(domain_name, deleted=False):
    status = ES_DOMAINS.get(domain_name) or {}
    return {
        'DomainStatus': {
            'ARN': 'arn:aws:es:%s:%s:domain/%s' % (aws_stack.get_region(), TEST_AWS_ACCOUNT_ID, domain_name),
            'Created': True,
            'Deleted': deleted,
            'DomainId': '%s/%s' % (TEST_AWS_ACCOUNT_ID, domain_name),
            'DomainName': domain_name,
            'ElasticsearchClusterConfig': {
                'DedicatedMasterCount': 1,
                'DedicatedMasterEnabled': True,
                'DedicatedMasterType': 'm3.medium.elasticsearch',
                'InstanceCount': 1,
                'InstanceType': 'm3.medium.elasticsearch',
                'ZoneAwarenessEnabled': False
            },
            'ElasticsearchVersion': status.get('ElasticsearchVersion') or DEFAULT_ES_VERSION,
            'Endpoint': aws_stack.get_elasticsearch_endpoint(domain_name),
            'Processing': False,
            'EBSOptions': {
                'EBSEnabled': True,
                'VolumeType': 'gp2',
                'VolumeSize': 10,
                'Iops': 0
            },
            'CognitoOptions': {
                'Enabled': False
            },
        }
    }
Пример #3
0
def test_domain_creation():
    es_client = aws_stack.connect_to_service('es')

    # create ES domain
    es_client.create_elasticsearch_domain(DomainName=TEST_DOMAIN_NAME)
    assert_true(TEST_DOMAIN_NAME in
        [d['DomainName'] for d in es_client.list_domain_names()['DomainNames']])

    # make sure we cannot re-create same domain name
    assert_raises(ClientError, es_client.create_elasticsearch_domain, DomainName=TEST_DOMAIN_NAME)

    # get domain status
    status = es_client.describe_elasticsearch_domain(DomainName=TEST_DOMAIN_NAME)
    assert_equal(status['DomainStatus']['DomainName'], TEST_DOMAIN_NAME)
    assert_true(status['DomainStatus']['Created'])
    assert_false(status['DomainStatus']['Processing'])
    assert_false(status['DomainStatus']['Deleted'])
    assert_equal(status['DomainStatus']['Endpoint'], aws_stack.get_elasticsearch_endpoint())
    assert_true(status['DomainStatus']['EBSOptions']['EBSEnabled'])

    # make sure we can fake adding tags to a domain
    response = es_client.add_tags(ARN='string', TagList=[{'Key': 'SOME_TAG', 'Value': 'SOME_VALUE'}])
    assert_equal(200, response['ResponseMetadata']['HTTPStatusCode'])

    # make sure domain deletion works
    es_client.delete_elasticsearch_domain(DomainName=TEST_DOMAIN_NAME)
    assert_false(TEST_DOMAIN_NAME in
        [d['DomainName'] for d in es_client.list_domain_names()['DomainNames']])
Пример #4
0
def get_domain_status(domain_name, deleted=False):
    return {
        'DomainStatus': {
            'ARN': 'arn:aws:es:%s:%s:domain/%s' % (DEFAULT_REGION, TEST_AWS_ACCOUNT_ID, domain_name),
            'Created': True,
            'Deleted': deleted,
            'DomainId': '%s/%s' % (TEST_AWS_ACCOUNT_ID, domain_name),
            'DomainName': domain_name,
            'ElasticsearchClusterConfig': {
                'DedicatedMasterCount': 1,
                'DedicatedMasterEnabled': True,
                'DedicatedMasterType': 'm3.medium.elasticsearch',
                'InstanceCount': 1,
                'InstanceType': 'm3.medium.elasticsearch',
                'ZoneAwarenessEnabled': False
            },
            'ElasticsearchVersion': '6.2',
            'Endpoint': aws_stack.get_elasticsearch_endpoint(),
            'Processing': False,
            'EBSOptions': {
                'EBSEnabled': True,
                'VolumeType': 'gp2',
                'VolumeSize': 10,
                'Iops': 0
            },
        }
    }