diff --git a/flexer/connector_tests/test_base.py b/flexer/connector_tests/test_base.py index 14206fc..0c6ceee 100644 --- a/flexer/connector_tests/test_base.py +++ b/flexer/connector_tests/test_base.py @@ -38,6 +38,7 @@ def setUpClass(cls): "expected_metrics": cls.account.get("expected_metrics") } ] + cls.logs_resource = cls.account.get("logs_resource") cls.runner = Flexer() cfg = load_config(cfg_file=CONFIG_FILE)["regions"]["default"] @@ -138,6 +139,8 @@ def test_get_resources_when_bad_credentials(self): def test_get_metrics(self): for res in self.resource_data: self.event['resource'] = res['resource'] + self.event['resource_id'] = res['resource']['id'] + self.event['account_id'] = res['resource']['account_id'] result = self.runner.run(handler="main.get_metrics", event=self.event, context=self.context, @@ -155,3 +158,21 @@ def test_get_metrics(self): count = len(filter(lambda r: r["metric"] == name, metrics)) self.assertGreater(count, 0, 'No metric points for "%s" found' % name) + + @unittest.skipIf(not hasattr(main, "get_logs"), + "get_logs not defined") + def test_get_logs(self): + self.event['resource'] = self.logs_resource + self.event['resource_id'] = self.logs_resource['id'] + self.event['account_id'] = self.logs_resource['account_id'] + result = self.runner.run(handler="main.get_logs", + event=self.event, + context=self.context, + debug=self.logging) + result = json.loads(result) + + self.assertIsNone(result["error"]) + value = result["value"] + logs = value["logs"] + self.assertIsNotNone(logs) + self.assertGreater(len(logs), 0, 'No logs found')