-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fd69de0
commit 6680ed8
Showing
10 changed files
with
149 additions
and
17 deletions.
There are no files selected for viewing
23 changes: 23 additions & 0 deletions
23
...oid-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/LogEnvelopeSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package io.embrace.android.embracesdk.capture.envelope | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.log.LogSource | ||
import io.embrace.android.embracesdk.capture.envelope.metadata.EnvelopeMetadataSource | ||
import io.embrace.android.embracesdk.capture.envelope.resource.EnvelopeResourceSource | ||
import io.embrace.android.embracesdk.internal.payload.Envelope | ||
import io.embrace.android.embracesdk.internal.payload.Log | ||
import io.embrace.android.embracesdk.session.orchestrator.SessionSnapshotType | ||
|
||
internal class LogEnvelopeSource( | ||
private val metadataSource: EnvelopeMetadataSource, | ||
private val resourceSource: EnvelopeResourceSource, | ||
private val logSource: LogSource, | ||
) : EnvelopeSource<Log> { | ||
|
||
override fun getEnvelope(endType: SessionSnapshotType) = Envelope( | ||
resourceSource.getEnvelopeResource(), | ||
metadataSource.getEnvelopeMetadata(), | ||
null, | ||
null, | ||
logSource.getLogPayload() | ||
) | ||
} |
15 changes: 12 additions & 3 deletions
15
...sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/SessionEnvelopeSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,25 @@ | ||
package io.embrace.android.embracesdk.capture.envelope | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.metadata.EnvelopeMetadataSource | ||
import io.embrace.android.embracesdk.capture.envelope.resource.EnvelopeResourceSource | ||
import io.embrace.android.embracesdk.capture.envelope.session.SessionPayloadSource | ||
import io.embrace.android.embracesdk.internal.payload.Envelope | ||
import io.embrace.android.embracesdk.internal.payload.SessionPayload | ||
import io.embrace.android.embracesdk.session.orchestrator.SessionSnapshotType | ||
|
||
internal class SessionEnvelopeSource( | ||
private val sessionPayloadSource: SessionPayloadSource | ||
private val metadataSource: EnvelopeMetadataSource, | ||
private val resourceSource: EnvelopeResourceSource, | ||
private val sessionPayloadSource: SessionPayloadSource, | ||
) : EnvelopeSource<SessionPayload> { | ||
|
||
override fun getEnvelope(endType: SessionSnapshotType): Envelope<SessionPayload> { | ||
sessionPayloadSource.getSessionPayload(endType) | ||
throw NotImplementedError("Not yet implemented") | ||
return Envelope( | ||
resourceSource.getEnvelopeResource(), | ||
metadataSource.getEnvelopeMetadata(), | ||
null, | ||
null, | ||
sessionPayloadSource.getSessionPayload(endType) | ||
) | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
...android-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/log/LogSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package io.embrace.android.embracesdk.capture.envelope.log | ||
|
||
import io.embrace.android.embracesdk.internal.payload.Log | ||
|
||
internal interface LogSource { | ||
fun getLogPayload(): Log | ||
} |
9 changes: 9 additions & 0 deletions
9
...oid-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/log/LogSourceImpl.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package io.embrace.android.embracesdk.capture.envelope.log | ||
|
||
import io.embrace.android.embracesdk.internal.payload.Log | ||
|
||
internal class LogSourceImpl : LogSource { | ||
Check warning on line 5 in embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/log/LogSourceImpl.kt Codecov / codecov/patchembrace-android-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/log/LogSourceImpl.kt#L5
|
||
override fun getLogPayload(): Log { | ||
throw NotImplementedError("Not implemented yet") | ||
Check warning on line 7 in embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/log/LogSourceImpl.kt Codecov / codecov/patchembrace-android-sdk/src/main/java/io/embrace/android/embracesdk/capture/envelope/log/LogSourceImpl.kt#L7
|
||
} | ||
} |
32 changes: 32 additions & 0 deletions
32
...sdk/src/test/java/io/embrace/android/embracesdk/capture/envelope/LogEnvelopeSourceTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package io.embrace.android.embracesdk.capture.envelope | ||
|
||
import io.embrace.android.embracesdk.fakes.FakeEnvelopeMetadataSource | ||
import io.embrace.android.embracesdk.fakes.FakeEnvelopeResourceSource | ||
import io.embrace.android.embracesdk.fakes.FakeLogSource | ||
import io.embrace.android.embracesdk.session.orchestrator.SessionSnapshotType | ||
import org.junit.Assert.assertEquals | ||
import org.junit.Assert.assertNull | ||
import org.junit.Test | ||
|
||
internal class LogEnvelopeSourceTest { | ||
|
||
@Test | ||
fun getEnvelope() { | ||
val metadataSource = FakeEnvelopeMetadataSource() | ||
val resourceSource = FakeEnvelopeResourceSource() | ||
val logSource = FakeLogSource() | ||
val source = LogEnvelopeSource( | ||
metadataSource, | ||
resourceSource, | ||
logSource, | ||
) | ||
val payload = source.getEnvelope(SessionSnapshotType.NORMAL_END) | ||
assertEquals(metadataSource.metadata, payload.metadata) | ||
assertEquals(resourceSource.resource, payload.resource) | ||
assertEquals(logSource.log, payload.data) | ||
|
||
// future fields that need populating: | ||
assertNull(payload.type) | ||
assertNull(payload.version) | ||
} | ||
} |
36 changes: 22 additions & 14 deletions
36
...src/test/java/io/embrace/android/embracesdk/capture/envelope/SessionEnvelopeSourceTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,32 @@ | ||
package io.embrace.android.embracesdk.capture.envelope | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.session.SessionPayloadSourceImpl | ||
import io.embrace.android.embracesdk.fakes.FakeCurrentSessionSpan | ||
import io.embrace.android.embracesdk.fakes.FakeInternalErrorService | ||
import io.embrace.android.embracesdk.fakes.FakeNativeThreadSamplerService | ||
import io.embrace.android.embracesdk.internal.spans.SpanSinkImpl | ||
import io.embrace.android.embracesdk.fakes.FakeEnvelopeMetadataSource | ||
import io.embrace.android.embracesdk.fakes.FakeEnvelopeResourceSource | ||
import io.embrace.android.embracesdk.fakes.FakeSessionPayloadSource | ||
import io.embrace.android.embracesdk.session.orchestrator.SessionSnapshotType | ||
import org.junit.Assert.assertEquals | ||
import org.junit.Assert.assertNull | ||
import org.junit.Test | ||
|
||
internal class SessionEnvelopeSourceTest { | ||
|
||
@Test(expected = NotImplementedError::class) | ||
@Test | ||
fun getEnvelope() { | ||
SessionEnvelopeSource( | ||
SessionPayloadSourceImpl( | ||
FakeInternalErrorService(), | ||
FakeNativeThreadSamplerService(), | ||
SpanSinkImpl(), | ||
FakeCurrentSessionSpan() | ||
) | ||
).getEnvelope(SessionSnapshotType.NORMAL_END) | ||
val metadataSource = FakeEnvelopeMetadataSource() | ||
val resourceSource = FakeEnvelopeResourceSource() | ||
val sessionPayloadSource = FakeSessionPayloadSource() | ||
val source = SessionEnvelopeSource( | ||
metadataSource, | ||
resourceSource, | ||
sessionPayloadSource, | ||
) | ||
val payload = source.getEnvelope(SessionSnapshotType.NORMAL_END) | ||
assertEquals(metadataSource.metadata, payload.metadata) | ||
assertEquals(resourceSource.resource, payload.resource) | ||
assertEquals(sessionPayloadSource.sessionPayload, payload.data) | ||
|
||
// future fields that need populating: | ||
assertNull(payload.type) | ||
assertNull(payload.version) | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
...droid-sdk/src/test/java/io/embrace/android/embracesdk/fakes/FakeEnvelopeMetadataSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package io.embrace.android.embracesdk.fakes | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.metadata.EnvelopeMetadataSource | ||
import io.embrace.android.embracesdk.internal.payload.EnvelopeMetadata | ||
|
||
internal class FakeEnvelopeMetadataSource : EnvelopeMetadataSource { | ||
|
||
var metadata: EnvelopeMetadata = EnvelopeMetadata() | ||
|
||
override fun getEnvelopeMetadata(): EnvelopeMetadata = metadata | ||
} |
11 changes: 11 additions & 0 deletions
11
...droid-sdk/src/test/java/io/embrace/android/embracesdk/fakes/FakeEnvelopeResourceSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package io.embrace.android.embracesdk.fakes | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.resource.EnvelopeResourceSource | ||
import io.embrace.android.embracesdk.internal.payload.EnvelopeResource | ||
|
||
internal class FakeEnvelopeResourceSource : EnvelopeResourceSource { | ||
|
||
var resource: EnvelopeResource = EnvelopeResource() | ||
|
||
override fun getEnvelopeResource(): EnvelopeResource = resource | ||
} |
11 changes: 11 additions & 0 deletions
11
embrace-android-sdk/src/test/java/io/embrace/android/embracesdk/fakes/FakeLogSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package io.embrace.android.embracesdk.fakes | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.log.LogSource | ||
import io.embrace.android.embracesdk.internal.payload.Log | ||
|
||
internal class FakeLogSource : LogSource { | ||
|
||
var log: Log = Log() | ||
|
||
override fun getLogPayload(): Log = log | ||
} |
11 changes: 11 additions & 0 deletions
11
...android-sdk/src/test/java/io/embrace/android/embracesdk/fakes/FakeSessionPayloadSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package io.embrace.android.embracesdk.fakes | ||
|
||
import io.embrace.android.embracesdk.capture.envelope.session.SessionPayloadSource | ||
import io.embrace.android.embracesdk.internal.payload.SessionPayload | ||
import io.embrace.android.embracesdk.session.orchestrator.SessionSnapshotType | ||
|
||
internal class FakeSessionPayloadSource : SessionPayloadSource { | ||
|
||
var sessionPayload: SessionPayload = SessionPayload() | ||
override fun getSessionPayload(endType: SessionSnapshotType) = sessionPayload | ||
} |