def test_consolidate_query_filter(self):
        session_factory = self.replay_flight_data(
            'test_emr_query_ids')

        ctx = Bag(
            session_factory=session_factory,
            log_dir='',
            options=Config.empty())

        query = {
            'query': [
                {'tag:foo': 'val1'},
                {'tag:foo': 'val2'},
                {'tag:bar': 'val3'}
            ]
        }
        mgr = emr.EMRCluster(ctx, query)
        self.assertEqual(
            mgr.consolidate_query_filter(),
            [
                {'Values': ['val1', 'val2'], 'Name': 'tag:foo'},
                {'Values': ['val3'], 'Name': 'tag:bar'},
                # default query
                {
                    'Values': ['WAITING', 'RUNNING', 'BOOTSTRAPPING'],
                    'Name': 'ClusterStates',
                },
            ]
        )

        query = {
            'query': [
                {'tag:foo': 'val1'},
                {'tag:foo': 'val2'},
                {'tag:bar': 'val3'},
                {'ClusterStates': 'terminated'},
            ]
        }
        mgr = emr.EMRCluster(ctx, query)
        self.assertEqual(
            mgr.consolidate_query_filter(),
            [
                {'Values': ['val1', 'val2'], 'Name': 'tag:foo'},
                {'Values': ['val3'], 'Name': 'tag:bar'},
                # verify default is overridden
                {
                    'Values': ['terminated'],
                    'Name': 'ClusterStates',
                },
            ]
        )
Beispiel #2
0
    def test_consolidate_query_filter(self):
        session_factory = self.replay_flight_data('test_emr_query_ids')

        ctx = Bag(session_factory=session_factory,
                  log_dir='',
                  options=Config.empty())

        query = {
            'query': [{
                'tag:foo': 'val1'
            }, {
                'tag:foo': 'val2'
            }, {
                'tag:bar': 'val3'
            }]
        }
        mgr = emr.EMRCluster(ctx, query)
        self.assertEqual(mgr.consolidate_query_filter(),
                         [{
                             'Values': ['val1', 'val2'],
                             'Name': 'tag:foo'
                         }, {
                             'Values': ['val3'],
                             'Name': 'tag:bar'
                         }])
Beispiel #3
0
    def test_get_emr_by_ids(self):
        session_factory = self.replay_flight_data("test_emr_query_ids")

        ctx = Bag(session_factory=session_factory, log_dir="", options=Config.empty())

        mgr = emr.EMRCluster(ctx, {})
        resources = mgr.get_resources(["j-1EJMJNTXC63JW"])
        self.assertEqual(resources[0]["Id"], "j-1EJMJNTXC63JW")
Beispiel #4
0
    def test_consolidate_query_filter(self):
        session_factory = self.replay_flight_data("test_emr_query_ids")

        ctx = Bag(session_factory=session_factory, log_dir="", options=Config.empty())

        query = {
            "query": [{"tag:foo": "val1"}, {"tag:foo": "val2"}, {"tag:bar": "val3"}]
        }
        mgr = emr.EMRCluster(ctx, query)
        self.assertEqual(
            mgr.consolidate_query_filter(),
            [
                {"Values": ["val1", "val2"], "Name": "tag:foo"},
                {"Values": ["val3"], "Name": "tag:bar"},
                # default query
                {
                    "Values": ["WAITING", "RUNNING", "BOOTSTRAPPING"],
                    "Name": "ClusterStates",
                },
            ],
        )

        query = {
            "query": [
                {"tag:foo": "val1"},
                {"tag:foo": "val2"},
                {"tag:bar": "val3"},
                {"ClusterStates": "terminated"},
            ]
        }
        mgr = emr.EMRCluster(ctx, query)
        self.assertEqual(
            mgr.consolidate_query_filter(),
            [
                {"Values": ["val1", "val2"], "Name": "tag:foo"},
                {"Values": ["val3"], "Name": "tag:bar"},
                # verify default is overridden
                {"Values": ["terminated"], "Name": "ClusterStates"},
            ],
        )