@@ -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}
0 commit comments