rule_files: - rules.yml evaluation_interval: 1m tests: # Test with default start_time (0 / Unix epoch). - name: default_start_time interval: 1m promql_expr_test: - expr: time() eval_time: 0m exp_samples: - value: 0 - expr: time() eval_time: 5m exp_samples: - value: 300 # Test with RFC3339 start_timestamp. - name: rfc3339_start_timestamp interval: 1m start_timestamp: "2024-01-01T00:00:00Z" promql_expr_test: - expr: time() eval_time: 0m exp_samples: - value: 1704067200 - expr: time() eval_time: 5m exp_samples: - value: 1704067500 # Test with Unix timestamp start_timestamp. - name: unix_timestamp_start_timestamp interval: 1m start_timestamp: 1609459200 input_series: - series: test_metric values: "1 1 1" promql_expr_test: - expr: time() eval_time: 0m exp_samples: - value: 1609459200 - expr: time() eval_time: 10m exp_samples: - value: 1609459800 # Test that input series samples are correctly timestamped with custom start_timestamp. - name: samples_with_start_timestamp interval: 1m start_timestamp: "2024-01-01T00:00:00Z" input_series: - series: 'my_metric{label="test"}' values: "10+10x15" promql_expr_test: # Query at absolute timestamp (start_timestamp = 1704067200). - expr: my_metric@1704067200 eval_time: 5m exp_samples: - labels: 'my_metric{label="test"}' value: 10 # Query at 2 minutes after start_timestamp (1704067200 + 120 = 1704067320). - expr: my_metric@1704067320 eval_time: 5m exp_samples: - labels: 'my_metric{label="test"}' value: 30 # Verify timestamp() function returns the absolute timestamp. - expr: timestamp(my_metric) eval_time: 5m exp_samples: - labels: '{label="test"}' value: 1704067500