Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ class GraphqlGreetingSystemTest {

testHelper.ensureNoErrors(response)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Query.greeting")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Query.greeting",
)
}
}

Expand All @@ -32,7 +36,11 @@ class GraphqlGreetingSystemTest {
error.message?.message?.startsWith("Unresolved RuntimeException for executionId ") ?: false
}
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Query.greeting")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Query.greeting",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ class GraphqlProjectSystemTest {
testHelper.ensureNoErrors(response)
assertEquals("proj-slug", response?.data?.project?.slug)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Query.project")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Query.project",
)
}
}

Expand All @@ -34,7 +38,11 @@ class GraphqlProjectSystemTest {
testHelper.ensureNoErrors(response)
assertNotNull(response?.data?.addProject)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Mutation.addProject")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Mutation.addProject",
)
}
}

Expand All @@ -48,7 +56,11 @@ class GraphqlProjectSystemTest {
error.message?.message?.startsWith("Unresolved RuntimeException for executionId ") ?: false
}
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Mutation.addProject")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Mutation.addProject",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ class GraphqlTaskSystemTest {
assertEquals("C3", firstTask.creator?.id)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Query.tasks")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Query.tasks",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,70 @@ class PersonSystemTest {

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi")
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi") &&
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"db",
"insert into person (firstName, lastName) values (?, ?)",
)
}
}

@Test
fun `create person creates transaction if no sampled flag in sentry-trace header`() {
val restClient = testHelper.restClient
val person = Person("firstA", "lastB")
val returnedPerson =
restClient.createPerson(
person,
mapOf(
"sentry-trace" to "f9118105af4a2d42b4124532cd1065ff-424cffc8f94feeee",
"baggage" to
"sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=f9118105af4a2d42b4124532cd1065ff,sentry-transaction=HTTP%20GET",
),
)
assertEquals(200, restClient.lastKnownStatusCode)

assertEquals(person.firstName, returnedPerson!!.firstName)
assertEquals(person.lastName, returnedPerson!!.lastName)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi") &&
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"db",
"insert into person (firstName, lastName) values (?, ?)",
)
}
}

@Test
fun `create person creates transaction if sampled true in sentry-trace header`() {
val restClient = testHelper.restClient
val person = Person("firstA", "lastB")
val returnedPerson =
restClient.createPerson(
person,
mapOf(
"sentry-trace" to "f9118105af4a2d42b4124532cd1065ff-424cffc8f94feeee-1",
"baggage" to
"sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=f9118105af4a2d42b4124532cd1065ff,sentry-transaction=HTTP%20GET",
),
)
assertEquals(200, restClient.lastKnownStatusCode)

assertEquals(person.firstName, returnedPerson!!.firstName)
assertEquals(person.lastName, returnedPerson!!.lastName)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi") &&
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"db",
"insert into person (firstName, lastName) values (?, ?)",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ class TodoSystemTest {
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "todoSpanOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "todoSpanSentryApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "http.client")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"http.client",
"GET https://jsonplaceholder.typicode.com/todos/1",
)
}
}

Expand All @@ -34,7 +38,11 @@ class TodoSystemTest {
assertEquals(200, restClient.lastKnownStatusCode)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "http.client")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"http.client",
"GET https://jsonplaceholder.typicode.com/todos/1",
)
}
}

Expand All @@ -47,7 +55,11 @@ class TodoSystemTest {
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "todoRestClientSpanOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "todoRestClientSpanSentryApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "http.client")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"http.client",
"GET https://jsonplaceholder.typicode.com/todos/1",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ class GraphqlGreetingSystemTest {

testHelper.ensureNoErrors(response)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "query GreetingQuery")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"query GreetingQuery",
"query GreetingQuery",
)
}
}

Expand All @@ -32,7 +36,11 @@ class GraphqlGreetingSystemTest {
error.message?.message?.startsWith("Unresolved RuntimeException for executionId ") ?: false
}
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "query GreetingQuery")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"query GreetingQuery",
"query GreetingQuery",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ class GraphqlProjectSystemTest {
testHelper.ensureNoErrors(response)
assertEquals("proj-slug", response?.data?.project?.slug)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "query ProjectQuery")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"query ProjectQuery",
"query ProjectQuery",
)
}
}

Expand All @@ -34,7 +38,11 @@ class GraphqlProjectSystemTest {
testHelper.ensureNoErrors(response)
assertNotNull(response?.data?.addProject)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "mutation AddProjectMutation")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"mutation AddProjectMutation",
"mutation AddProjectMutation",
)
}
}

Expand All @@ -48,7 +56,11 @@ class GraphqlProjectSystemTest {
error.message?.message?.startsWith("Unresolved RuntimeException for executionId ") ?: false
}
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "mutation AddProjectMutation")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"mutation AddProjectMutation",
"mutation AddProjectMutation",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ class GraphqlTaskSystemTest {
assertEquals("C3", firstTask.creator?.id)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "query TasksAndAssigneesQuery")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"query TasksAndAssigneesQuery",
"query TasksAndAssigneesQuery",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,70 @@ class PersonSystemTest {

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi")
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi") &&
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"db",
"insert into person (firstName, lastName) values (?, ?)",
)
}
}

@Test
fun `create person creates transaction if no sampled flag in sentry-trace header`() {
val restClient = testHelper.restClient
val person = Person("firstA", "lastB")
val returnedPerson =
restClient.createPerson(
person,
mapOf(
"sentry-trace" to "f9118105af4a2d42b4124532cd1065ff-424cffc8f94feeee",
"baggage" to
"sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=f9118105af4a2d42b4124532cd1065ff,sentry-transaction=HTTP%20GET",
),
)
assertEquals(200, restClient.lastKnownStatusCode)

assertEquals(person.firstName, returnedPerson!!.firstName)
assertEquals(person.lastName, returnedPerson!!.lastName)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi") &&
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"db",
"insert into person (firstName, lastName) values (?, ?)",
)
}
}

@Test
fun `create person creates transaction if sampled true in sentry-trace header`() {
val restClient = testHelper.restClient
val person = Person("firstA", "lastB")
val returnedPerson =
restClient.createPerson(
person,
mapOf(
"sentry-trace" to "f9118105af4a2d42b4124532cd1065ff-424cffc8f94feeee-1",
"baggage" to
"sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=f9118105af4a2d42b4124532cd1065ff,sentry-transaction=HTTP%20GET",
),
)
assertEquals(200, restClient.lastKnownStatusCode)

assertEquals(person.firstName, returnedPerson!!.firstName)
assertEquals(person.lastName, returnedPerson!!.lastName)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "spanCreatedThroughSentryApi") &&
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"db",
"insert into person (firstName, lastName) values (?, ?)",
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ class TodoSystemTest {
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "todoSpanOtelApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "todoSpanSentryApi") &&
testHelper.doesTransactionContainSpanWithOp(transaction, "http.client")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"http.client",
"GET https://jsonplaceholder.typicode.com/todos/1",
)
}
}

Expand All @@ -34,7 +38,11 @@ class TodoSystemTest {
assertEquals(200, restClient.lastKnownStatusCode)

testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithOp(transaction, "http.client")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"http.client",
"GET https://jsonplaceholder.typicode.com/todos/1",
)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ class GraphqlGreetingSystemTest {

testHelper.ensureNoErrors(response)
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Query.greeting")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Query.greeting",
)
}
}

Expand All @@ -32,7 +36,11 @@ class GraphqlGreetingSystemTest {
error.message?.message?.startsWith("Unresolved RuntimeException for executionId ") ?: false
}
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
testHelper.doesTransactionContainSpanWithDescription(transaction, "Query.greeting")
testHelper.doesTransactionContainSpanWithOpAndDescription(
transaction,
"graphql",
"Query.greeting",
)
}
}
}
Loading
Loading