def METHOD_NAME(self):
    # given
    memory_amount_gb = psutil.virtual_memory().total / float(BYTES_IN_ONE_GB)
    # and
    experiment = MagicMock()
    # and
    cpu_metric_id = str(uuid.uuid4())
    ram_metric_id = str(uuid.uuid4())
    self.backend.create_hardware_metric.side_effect = [cpu_metric_id, ram_metric_id]
    # when
    self.metric_service_factory.create(
        gauge_mode=GaugeMode.SYSTEM,
        experiment=experiment,
        reference_timestamp=time.time(),
    )
    # then
    self.backend.create_hardware_metric.assert_has_calls(
        [
            call(
                experiment,
                Metric(
                    internal_id=cpu_metric_id,
                    name="CPU - usage",
                    description="average of all cores",
                    resource_type=MetricResourceType.CPU,
                    unit="%",
                    min_value=0.0,
                    max_value=100.0,
                    gauges=[SystemCpuUsageGauge()],
                ),
            ),
            call(
                experiment,
                Metric(
                    internal_id=ram_metric_id,
                    name="RAM",
                    description="",
                    resource_type=MetricResourceType.RAM,
                    unit="GB",
                    min_value=0.0,
                    max_value=memory_amount_gb,
                    gauges=[SystemMemoryUsageGauge()],
                ),
            ),
        ]
    )