Exemplo n.º 1
0
def test_datatog_when_generate_event_data_with_with_missing_env_then_success():
    # Given environment
    log = "some log data"
    email = "*****@*****.**"
    env = None
    data_dog = DataDogWrapper(base_url="http://test.com", api_key='123key')

    # When
    event_data = data_dog.generate_event_data(log=log,
                                              email=email,
                                              environment_name=env)

    # Then
    expected_event_text = f"{log} by user {email}"
    assert event_data['text'] == expected_event_text
    assert len(event_data['tags']) == 1
    assert event_data['tags'][0] == f"env:{env}"
Exemplo n.º 2
0
def test_datatog_when_generate_event_data_with_with_missing_values_then_success():
    # Given no log or email data
    log = None
    email = None
    env = "test"
    data_dog = DataDogWrapper(base_url="http://test.com", api_key="123key")

    # When
    event_data = data_dog.generate_event_data(
        log=log, email=email, environment_name=env
    )

    # Then
    expected_event_text = f"{log} by user {email}"
    assert event_data["text"] == expected_event_text
    assert len(event_data["tags"]) == 1
    assert event_data["tags"][0] == f"env:{env}"
Exemplo n.º 3
0
def test_datatog_when_generate_event_data_with_correct_values_then_success():
    # Given
    log = "some log data"
    email = "*****@*****.**"
    env = "test"
    data_dog = DataDogWrapper(base_url="http://test.com", api_key="123key")

    # When
    event_data = data_dog.generate_event_data(
        log=log, email=email, environment_name=env
    )

    # Then
    expected_event_text = f"{log} by user {email}"

    assert event_data["text"] == expected_event_text
    assert len(event_data["tags"]) == 1
    assert event_data["tags"][0] == "env:" + env
Exemplo n.º 4
0
def test_datadog_initialized_correctly():
    # Given
    api_key = '123key'
    base_url = "http://test.com"

    # When initialized
    data_dog = DataDogWrapper(base_url=base_url, api_key=api_key)

    # Then
    expected_url = f"{base_url}{EVENTS_API_URI}?api_key={api_key}"
    assert data_dog.url == expected_url
Exemplo n.º 5
0
def send_audit_log_event_to_datadog(sender, instance, **kwargs):
    integration = {
        "name": "DataDog",
        "attr": "data_dog_config",
    }
    data_dog_config = _send_audit_log_event_verification(instance, integration)

    if not data_dog_config:
        return

    data_dog = DataDogWrapper(base_url=data_dog_config.base_url,
                              api_key=data_dog_config.api_key)
    _track_event_async(instance, data_dog)
Exemplo n.º 6
0
def send_audit_log_event_to_datadog(sender, instance, **kwargs):
    if not instance.project:
        logger.warning("Audit log missing project, not sending data to DataDog.")
        return

    if not hasattr(instance.project, "data_dog_config"):
        logger.debug(
            "No datadog integration configured for project %s" % instance.project.id
        )
        return

    # Only handle Feature related changes
    if instance.related_object_type not in [
        RelatedObjectType.FEATURE.name,
        RelatedObjectType.FEATURE_STATE.name,
        RelatedObjectType.SEGMENT.name,
    ]:
        logger.debug(
            "Ignoring none Flag audit event %s for datadog"
            % instance.related_object_type
        )
        return

    data_dog_config = instance.project.data_dog_config
    data_dog = DataDogWrapper(
        base_url=data_dog_config.base_url, api_key=data_dog_config.api_key
    )
    event_data = data_dog.generate_event_data(
        log=instance.log,
        email=instance.author.email if instance.author else "",
        environment_name=instance.environment.name.lower()
        if instance.environment
        else "",
    )

    data_dog.track_event_async(event=event_data)