Skip to content

Commit

Permalink
Invert conditional check
Browse files Browse the repository at this point in the history
  • Loading branch information
cmanallen committed Jul 9, 2024
1 parent c814ebd commit 03049e7
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 10 deletions.
4 changes: 2 additions & 2 deletions relay-server/src/services/processor/replay.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ pub fn process(
let project_state = &state.project_state;
let replays_enabled = project_state.has_feature(Feature::SessionReplay);
let scrubbing_enabled = project_state.has_feature(Feature::SessionReplayRecordingScrubbing);
let replay_video_enabled = project_state.has_feature(Feature::SessionReplayVideoDenylist);
let replay_video_disabled = project_state.has_feature(Feature::SessionReplayVideoDenylist);

let meta = state.envelope().meta().clone();
let client_addr = meta.client_addr();
Expand Down Expand Up @@ -63,7 +63,7 @@ pub fn process(

// If the replay video feature is not enabled check the envelope items for a
// replay video event.
if !replay_video_enabled && count_replay_video_events(state) > 0 {
if replay_video_disabled && count_replay_video_events(state) > 0 {
state.managed_envelope.drop_items_silently();
return Ok(());
}
Expand Down
63 changes: 55 additions & 8 deletions tests/integration/test_replay_videos.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,7 @@ def test_replay_recording_with_video(
relay = relay_with_processing()
mini_sentry.add_basic_project_config(
project_id,
extra={
"config": {
"features": [
"organizations:session-replay",
"organizations:session-replay-video-denylist",
]
}
},
extra={"config": {"features": ["organizations:session-replay"]}},
)
replay = generate_replay_sdk_event(replay_id)
replay_events_consumer = replay_events_consumer(timeout=10)
Expand Down Expand Up @@ -84,3 +77,57 @@ def test_replay_recording_with_video(
replay_recordings_consumer.assert_empty()
outcomes_consumer.assert_empty()
replay_events_consumer.assert_empty()


def test_replay_recording_with_video_denied(
mini_sentry,
relay_with_processing,
replay_recordings_consumer,
outcomes_consumer,
replay_events_consumer,
):
project_id = 42
replay_id = "515539018c9b4260a6f999572f1661ee"
relay = relay_with_processing()
mini_sentry.add_basic_project_config(
project_id,
extra={
"config": {
"features": [
"organizations:session-replay",
"organizations:session-replay-video-denylist",
]
}
},
)
replay = generate_replay_sdk_event(replay_id)
replay_events_consumer = replay_events_consumer(timeout=10)
replay_recordings_consumer = replay_recordings_consumer()
outcomes_consumer = outcomes_consumer()

_recording_payload = recording_payload(b"[]")
payload = msgpack.packb(
{
"replay_event": json.dumps(replay).encode(),
"replay_recording": _recording_payload,
"replay_video": b"hello, world!",
}
)

envelope = Envelope(
headers=[
[
"event_id",
replay_id,
],
["attachment_type", "replay_video"],
]
)
envelope.add_item(Item(payload=PayloadRef(bytes=payload), type="replay_video"))

relay.send_envelope(project_id, envelope)

# Assert all conumers are empty.
replay_recordings_consumer.assert_empty()
outcomes_consumer.assert_empty()
replay_events_consumer.assert_empty()

0 comments on commit 03049e7

Please sign in to comment.