Exemplo n.º 1
0
    def test_gen_hourly_storage_usage(self):
        """Test that gen_hourly_storage_usage generates rows."""
        generator = OCPGenerator(self.two_hours_ago, self.now)
        generator.nodes = self.attributes.get("nodes")

        namespaces = self.attributes.get("nodes")[0].get("namespaces")
        for dikt in namespaces:
            pods = dikt.get("pods")
            for pod in pods:
                with self.subTest(pod=pod):
                    for row in generator._gen_hourly_storage_usage(
                            report_type=OCP_STORAGE_USAGE):
                        self.assertIsInstance(row, dict)
                        for col in OCP_STORAGE_COLUMNS:
                            with self.subTest(row=row):
                                with self.subTest(col=col):
                                    self.assertIn(col, row)
                                    self.assertIsNotNone(row[col])
                        break  # only test one row
Exemplo n.º 2
0
    def test_update_pod_data(self):
        """Test that _update_pod_data updates pod data"""
        pods = self.attributes.get("nodes")[0].get("namespaces")[0].get("pods")
        usage_dict = self._usage_dict()
        kwargs = {
            "report_type": "test_report",
            "cpu_usage": usage_dict,
            "mem_usage_gig": usage_dict,
            "pod_seconds": 86400,
            "pod": pods[0],
        }
        changed = {
            "pod_usage_cpu_core_seconds",
            "pod_request_cpu_core_seconds",
            "pod_limit_cpu_core_seconds",
            "pod_usage_memory_byte_seconds",
            "pod_request_memory_byte_seconds",
            "pod_limit_memory_byte_seconds",
        }

        generator = OCPGenerator(self.two_hours_ago, self.now)
        generator.nodes = self.attributes
        in_row = generator._init_data_row(self.two_hours_ago,
                                          self.now,
                                          report_type=OCP_POD_USAGE)
        out_row = generator._update_pod_data(
            copy(in_row),
            datetime.strptime(random.choice(list(usage_dict.keys())),
                              "%m-%d-%Y"), self.now, **kwargs)

        for key in changed:
            with self.subTest(key=key):
                self.assertIsNotNone(out_row.get(key))
                self.assertNotEqual(out_row.get(key), in_row.get(key))

        for key in list(set(out_row.keys()) - changed):
            with self.subTest(key=key):
                self.assertIsNotNone(out_row.get(key))