|
1 | 1 | from datetime import date, datetime |
2 | 2 |
|
| 3 | +import pytest |
3 | 4 | from influxdb_client.client.flux_table import FluxRecord, FluxTable |
4 | 5 |
|
5 | 6 | from app_analytics.dataclasses import FeatureEvaluationData, UsageData |
6 | 7 | from app_analytics.mappers import ( |
7 | 8 | map_flux_tables_to_feature_evaluation_data, |
8 | 9 | map_flux_tables_to_usage_data, |
| 10 | + map_influx_record_values_to_labels, |
9 | 11 | ) |
10 | 12 |
|
11 | 13 |
|
@@ -79,3 +81,25 @@ def test_map_flux_tables_to_usage_data__returns_expected() -> None: |
79 | 81 | labels={"client_application_name": "test-app"}, |
80 | 82 | ) |
81 | 83 | ] |
| 84 | + |
| 85 | + |
| 86 | +@pytest.mark.parametrize( |
| 87 | + "values, expected", |
| 88 | + [ |
| 89 | + ({"user_agent": "50001"}, {"user_agent": "flagsmith-js-sdk/9.3.1"}), |
| 90 | + ({"user_agent": "0"}, {"user_agent": "flagsmith-dotnet-sdk/unknown"}), |
| 91 | + ({"user_agent": "90000"}, {"user_agent": "flagsmith-python-sdk/unknown"}), |
| 92 | + ({}, {}), |
| 93 | + ({"user_agent": "99999"}, {}), |
| 94 | + ({"user_agent": "not-a-number"}, {}), |
| 95 | + ], |
| 96 | +) |
| 97 | +def test_map_influx_record_values_to_labels( |
| 98 | + values: dict[str, str], |
| 99 | + expected: dict[str, str], |
| 100 | +) -> None: |
| 101 | + # Given / When |
| 102 | + result = map_influx_record_values_to_labels(values) |
| 103 | + |
| 104 | + # Then |
| 105 | + assert result == expected |
0 commit comments