Skip to content

Commit

Permalink
Name alignments and visibility tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
fabriziodemaria committed Apr 15, 2024
1 parent aaf693e commit 5a63cb1
Show file tree
Hide file tree
Showing 8 changed files with 53 additions and 28 deletions.
35 changes: 30 additions & 5 deletions Sources/Confidence/Confidence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class Confidence: ConfidenceEventSender {
private var removedContextKeys: Set<String> = Set()
private var client: ConfidenceClient

required public init(
required init(
clientSecret: String,
timeout: TimeInterval,
region: ConfidenceRegion,
Expand All @@ -28,15 +28,40 @@ public class Confidence: ConfidenceEventSender {
self.parent = parent
}

public func send(definition: String, payload: ConfidenceStruct) {
print("Sending: \"\(definition)\".\nMessage: \(payload)\nContext: \(context)")
public convenience init(
clientSecret: String,
timeout: TimeInterval,
region: ConfidenceRegion,
initializationStrategy: InitializationStrategy,
context: ConfidenceStruct = [:],
parent: ConfidenceEventSender? = nil
) {
self.init(
clientSecret: clientSecret,
timeout: timeout,
region: region,
initializationStrategy: initializationStrategy,
client: RemoteConfidenceClient(
options: ConfidenceClientOptions(
credentials: ConfidenceClientCredentials.clientSecret(secret: clientSecret),
timeout: timeout,
region: region),
metadata: ConfidenceMetadata(
name: "SDK_ID_SWIFT_CONFIDENCE",
version: "0.1.4") // x-release-please-version)
)
)
}

public func send(name: String, payload: ConfidenceStruct) {
print("Sending: \"\(name)\".\nMessage: \(payload)\nContext: \(context)")
Task {
// TODO: This will be called inside the EventSenderEngine once implemented
try? await client.upload(batch: [
ConfidenceEvent(
definition: definition,
name: name,
payload: NetworkTypeMapper.from(value: payload),
eventTime: Date.backport.nowISOString)
time: Date.backport.nowISOString)
])
}
}
Expand Down
8 changes: 4 additions & 4 deletions Sources/Confidence/ConfidenceClient/ConfidenceClient.swift
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import Foundation
import Common

public protocol ConfidenceClient {
protocol ConfidenceClient {
// Returns true if the batch has been correctly processed by the backend
func upload(batch: [ConfidenceEvent]) async throws -> Bool
}

public struct ConfidenceEvent: Codable {
var definition: String
struct ConfidenceEvent: Codable {
var name: String
var payload: NetworkStruct
var eventTime: String
var time: String
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ public class RemoteConfidenceClient: ConfidenceClient {
self.metadata = metadata
}

public func upload(batch: [ConfidenceEvent]) async throws -> Bool {
func upload(batch: [ConfidenceEvent]) async throws -> Bool {
let timeString = Date.backport.nowISOString
let request = PublishEventRequest(
events: batch.map { event in
Event(
eventDefinition: "eventDefinitions/\(event.definition)",
eventDefinition: "eventDefinitions/\(event.name)",
payload: event.payload,
eventTime: timeString
time: timeString
)
},
clientSecret: options.credentials.getSecret(),
Expand Down Expand Up @@ -80,7 +80,7 @@ struct PublishEventRequest: Codable {
struct Event: Codable {
var eventDefinition: String
var payload: NetworkStruct
var eventTime: String
var time: String
}

struct PublishEventResponse: Codable {
Expand Down
2 changes: 1 addition & 1 deletion Sources/Confidence/ConfidenceEventSender.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import Foundation

/// Sends events to Confidence. Contextual data is appended to each event
public protocol ConfidenceEventSender: Contextual {
func send(definition: String, payload: ConfidenceStruct)
func send(name: String, payload: ConfidenceStruct)
}
4 changes: 2 additions & 2 deletions Sources/Confidence/EventSenderEngine.swift
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ final class EventSenderEngineImpl: EventSenderEngine {

func send(name: String, message: [String: ConfidenceValue]) throws {
writeReqChannel.send(ConfidenceEvent(
definition: name,
name: name,
payload: try NetworkTypeMapper.from(value: message),
eventTime: Date.backport.nowISOString)
time: Date.backport.nowISOString)
)
}

Expand Down
6 changes: 3 additions & 3 deletions Tests/ConfidenceProviderTests/EventSenderEngineTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@ final class EventSenderEngineTest: XCTestCase {
var events: [ConfidenceEvent] = []
for i in 0..<5 {
events.append(ConfidenceEvent(
definition: "\(i)",
name: "\(i)",
payload: NetworkStruct.init(fields: [:]),
eventTime: Date.backport.nowISOString)
time: Date.backport.nowISOString)
)
try eventSenderEngine.send(name: "\(i)", message: ConfidenceStruct())
}

wait(for: [expectation], timeout: 5)
let uploadRequest = try XCTUnwrap(uploader.calledRequest)
XCTAssertTrue(uploadRequest.map { $0.definition } == events.map { $0.definition })
XCTAssertTrue(uploadRequest.map { $0.name } == events.map { $0.name })

uploader.reset()
try eventSenderEngine.send(name: "Hello", message: [:])
Expand Down
2 changes: 1 addition & 1 deletion Tests/ConfidenceTests/ConfidenceTests.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Confidence
import XCTest
@testable import Confidence

final class ConfidenceTests: XCTestCase {
func testWithContext() {
Expand Down
16 changes: 8 additions & 8 deletions Tests/ConfidenceTests/RemooteConfidenceClientTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ class RemoteConfidenceClientTest: XCTestCase {

let processed = try await client.upload(batch: [
ConfidenceEvent(
definition: "testEvent",
name: "testEvent",
payload: NetworkStruct.init(fields: [:]),
eventTime: Date.backport.nowISOString
time: Date.backport.nowISOString
)
])
XCTAssertTrue(processed)
Expand All @@ -49,9 +49,9 @@ class RemoteConfidenceClientTest: XCTestCase {

let processed = try await client.upload(batch: [
ConfidenceEvent(
definition: "testEvent",
name: "testEvent",
payload: NetworkStruct.init(fields: [:]),
eventTime: Date.backport.nowISOString
time: Date.backport.nowISOString
)
])
XCTAssertTrue(processed)
Expand All @@ -69,9 +69,9 @@ class RemoteConfidenceClientTest: XCTestCase {
do {
_ = try await client.upload(batch: [
ConfidenceEvent(
definition: "testEvent",
name: "testEvent",
payload: NetworkStruct.init(fields: [:]),
eventTime: Date.backport.nowISOString
time: Date.backport.nowISOString
)
])
} catch {
Expand All @@ -93,9 +93,9 @@ class RemoteConfidenceClientTest: XCTestCase {
do {
_ = try await client.upload(batch: [
ConfidenceEvent(
definition: "testEvent",
name: "testEvent",
payload: NetworkStruct.init(fields: [:]),
eventTime: Date.backport.nowISOString
time: Date.backport.nowISOString
)
])
} catch {
Expand Down

0 comments on commit 5a63cb1

Please sign in to comment.