Skip to content

Commit 935781f

Browse files
Test case added
1 parent bb134d6 commit 935781f

File tree

2 files changed

+107
-2
lines changed

2 files changed

+107
-2
lines changed

test/optimizely_flutter_sdk_test.dart

Lines changed: 72 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,8 @@ void main() {
556556
});
557557

558558
test("with a valid defaultLogLevel parameter", () async {
559-
var sdk = OptimizelyFlutterSdk(testSDKKey, defaultLogLevel: OptimizelyLogLevel.debug);
559+
var sdk = OptimizelyFlutterSdk(testSDKKey,
560+
defaultLogLevel: OptimizelyLogLevel.debug);
560561

561562
var response = await sdk.initializeClient();
562563

@@ -1553,6 +1554,75 @@ void main() {
15531554
});
15541555
});
15551556

1556-
group("arbitary client name", () {
1557+
group("Test client_name and client_version event parsing", () {
1558+
test("Test track event with swift sdk name and version", () async {
1559+
var sdk = OptimizelyFlutterSdk(testSDKKey);
1560+
1561+
TrackListenerResponse? response;
1562+
1563+
await sdk.addTrackNotificationListener((msg) {
1564+
response = msg;
1565+
});
1566+
var callHandler = OptimizelyClientWrapper.methodCallHandler;
1567+
tester?.setMockMethodCallHandler(channel, callHandler);
1568+
TestUtils.sendTestTrackClientNameAndVersion(
1569+
callHandler, 0, testSDKKey, "flutter/swift-sdk", "2.0.0");
1570+
1571+
expect(response == null, false);
1572+
1573+
expect(response!.eventTags!["client_name"], "flutter/swift-sdk");
1574+
1575+
});
1576+
1577+
test("Test track event with android sdk name and version", () async {
1578+
var sdk = OptimizelyFlutterSdk(testSDKKey);
1579+
1580+
var responses = [];
1581+
1582+
await sdk.addTrackNotificationListener((msg) {
1583+
responses.add(msg);
1584+
});
1585+
1586+
var callHandler = OptimizelyClientWrapper.methodCallHandler;
1587+
tester?.setMockMethodCallHandler(channel, callHandler);
1588+
1589+
TestUtils.sendTestTrackClientNameAndVersion(
1590+
callHandler, 0, testSDKKey, "flutter/swift-sdk", "2.0.0");
1591+
TestUtils.sendTestTrackClientNameAndVersion(
1592+
callHandler, 0, testSDKKey, "flutter/android-sdk", "2.0.0-beta");
1593+
1594+
expect(responses.length == 2, true);
1595+
1596+
expect(responses[0]!.eventTags!["client_name"], "flutter/swift-sdk");
1597+
expect(responses[0]!.eventTags!["client_version"], "2.0.0");
1598+
expect(responses[1]!.eventTags!["client_name"], "flutter/android-sdk");
1599+
expect(responses[1]!.eventTags!["client_version"], "2.0.0-beta");
1600+
1601+
});
1602+
1603+
test("Test log event with client sdk name and version", () async {
1604+
var sdk = OptimizelyFlutterSdk(testSDKKey);
1605+
1606+
var responses = [];
1607+
1608+
await sdk.addLogEventNotificationListener((msg) {
1609+
responses.add(msg);
1610+
});
1611+
var callHandler = OptimizelyClientWrapper.methodCallHandler;
1612+
tester?.setMockMethodCallHandler(channel, callHandler);
1613+
TestUtils.sendTestClientNameAndVersionLogEventNotification(
1614+
callHandler, 0, testSDKKey, "flutter/android-sdk", "2.0.0-beta");
1615+
1616+
TestUtils.sendTestClientNameAndVersionLogEventNotification(
1617+
callHandler, 0, testSDKKey, "flutter/swift-sdk", "2.0.0");
1618+
1619+
expect(responses.length == 2, true);
1620+
1621+
expect(responses[0]!.params!["client_name"], "flutter/android-sdk");
1622+
expect(responses[0]!.params!["client_version"], "2.0.0-beta");
1623+
expect(responses[1]!.params!["client_name"], "flutter/swift-sdk");
1624+
expect(responses[1]!.params!["client_version"], "2.0.0");
1625+
});
1626+
15571627
});
15581628
}

test/test_utils.dart

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,23 @@ class TestUtils {
106106
}));
107107
}
108108

109+
static sendTestClientNameAndVersionLogEventNotification(
110+
Function(MethodCall message) handler, int id, String sdkKey, String clientName, String sdkVersion) {
111+
var payload = {
112+
Constants.url: "$id",
113+
Constants.params: {
114+
"test": id,
115+
"client_name": clientName,
116+
"client_version": sdkVersion
117+
}
118+
};
119+
handler(MethodCall(Constants.logEventCallbackListener, {
120+
Constants.id: id,
121+
Constants.sdkKey: sdkKey,
122+
Constants.payload: payload
123+
}));
124+
}
125+
109126
static sendTestTrackNotifications(
110127
Function(MethodCall message) handler, int id, String sdkKey) {
111128
var payload = {
@@ -121,6 +138,24 @@ class TestUtils {
121138
}));
122139
}
123140

141+
static sendTestTrackClientNameAndVersion(Function(MethodCall message) handler, int id, String sdkKey, String clientName, String sdkVersion) {
142+
var payload = {
143+
Constants.eventKey: "$id",
144+
Constants.userId: "test",
145+
Constants.attributes: {"test": id},
146+
Constants.eventTags: {
147+
"testTag": id,
148+
"client_name": clientName,
149+
"client_version": sdkVersion
150+
}
151+
};
152+
handler(MethodCall(Constants.trackCallBackListener, {
153+
Constants.id: id,
154+
Constants.sdkKey: sdkKey,
155+
Constants.payload: payload
156+
}));
157+
}
158+
124159
static sendTestUpdateConfigNotifications(
125160
Function(MethodCall message) handler, int id, String sdkKey) {
126161
handler(MethodCall(Constants.configUpdateCallBackListener, {

0 commit comments

Comments
 (0)