# Test basic get/set/delete operations where the spans retrieved are identical
# to the ones being added/deleted, and are non-overlapping with respect to one
# another. Only a single update is applied at a time.

# Check that missing keys fallback to a static config.
get key=b
----
conf=FALLBACK


# Add span configs.
apply
set [b,d):A
----
added [b,d):A

apply
set [f,h):B
----
added [f,h):B


# Check that a no-op operation shows up as much.
apply
set [f,h):B
----


# Check that a few keys are as we'd expect.
get key=b
----
conf=A

get key=c
----
conf=A

get key=f
----
conf=B

get key=g
----
conf=B

get key=h
----
conf=FALLBACK


# Delete a span.
apply
delete [f,h)
----
deleted [f,h)

# Check that a no-op operation does nothing.
apply
delete [f,g)
----

apply
delete [f,h)
----

# Check that keys are as we'd expect (including the deleted one).
get key=b
----
conf=A

get key=c
----
conf=A

get key=f
----
conf=FALLBACK

get key=g
----
conf=FALLBACK
