Skip to content

Commit 6aaecc4

Browse files
authored
Merge pull request #386 from Countly/sdk26_1_0
feat: parallel run tests and update android 26.1.2
2 parents 51b2204 + be2d983 commit 6aaecc4

43 files changed

Lines changed: 625 additions & 93 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,7 @@ example/android/app/release
3737

3838
example/ios/Podfile.lock
3939
example/android/app/debug
40-
example/lib/backup.dart
40+
example/lib/backup.dart
41+
42+
# Test runner output
43+
test_results/

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* Mitigated issues in iOS where multiple contents could be displayed in parallel and when returning from external content links.
2828
* Mitigated an issue where an unintended URL was opened when closing a feedback widget after a content block was closed in Web.
2929

30-
* Updated underlying Android SDK version to 26.1.1
30+
* Updated underlying Android SDK version to 26.1.2
3131
* Updated underlying iOS SDK version is 26.1.1
3232
* Updated underlying Web SDK version is 26.1.1
3333

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ android {
3939
}
4040

4141
dependencies {
42-
implementation 'ly.count.android:sdk:26.1.1'
42+
implementation 'ly.count.android:sdk:26.1.2'
4343
implementation 'com.google.firebase:firebase-messaging:24.0.3'
4444
}

example/integration_test/device_id_test.dart

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
import 'dart:convert';
2-
import 'dart:html';
32
import 'package:countly_flutter/countly_flutter.dart';
43
import 'package:flutter/foundation.dart';
54
import 'package:flutter_test/flutter_test.dart';
65
import 'package:integration_test/integration_test.dart';
76

87
import 'utils.dart';
8+
import 'web_utils_stub.dart' if (dart.library.html) 'web_utils.dart';
99

10-
/// Check if we can get stored queues from native side
10+
/// Web-only device ID change tests.
11+
/// On non-web platforms, a single placeholder test passes so the runner doesn't fail.
1112
void main() {
1213
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
1314

1415
if (!kIsWeb) {
16+
testWidgets('device_id_test (web-only, skipped on native)', (WidgetTester tester) async {
17+
// This test suite is web-only. On native platforms, this placeholder passes.
18+
});
1519
return;
1620
}
21+
1722
group("Device ID change tests", () {
1823
tearDown(() async {
1924
await Countly.instance.halt();
20-
window.localStorage.clear();
25+
clearWebLocalStorage();
2126
});
2227
test("Check init time temp mode with setID", () async {
2328
CountlyConfig config = CountlyConfig(SERVER_URL, APP_KEY).setLoggingEnabled(true).enableTemporaryDeviceIDMode();

example/integration_test/networking_tests/addCustomNetworkRequestHeaders_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ void main() {
2626
},
2727
);
2828
// Initialize the SDK
29-
CountlyConfig config = CountlyConfig("http://0.0.0.0:8080", APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
29+
CountlyConfig config = CountlyConfig(TEST_SERVER_URL, APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
3030
config.setCustomNetworkRequestHeaders({"Initial-Header": "InitialValue"});
3131
await Countly.initWithConfig(config);
3232
await Future.delayed(const Duration(seconds: 1));

example/integration_test/networking_tests/request_timeout_duration_default_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ void main() {
1515
createServer(requestArray, delay: 3);
1616

1717
// Initialize SDK with default request timeout
18-
CountlyConfig config = CountlyConfig('http://0.0.0.0:8080', APP_KEY).enableManualSessionHandling().setLoggingEnabled(true); // Use default timeout
18+
CountlyConfig config = CountlyConfig(TEST_SERVER_URL, APP_KEY).enableManualSessionHandling().setLoggingEnabled(true); // Use default timeout
1919

2020
await Countly.initWithConfig(config);
2121

example/integration_test/networking_tests/request_timeout_duration_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void main() {
1717
createServer(requestArray, delay: 3);
1818

1919
// Initialize SDK with a short request timeout
20-
CountlyConfig config = CountlyConfig('http://0.0.0.0:8080', APP_KEY).enableManualSessionHandling().setLoggingEnabled(true).setRequestTimeoutDuration(1); // Set timeout to 1 second
20+
CountlyConfig config = CountlyConfig(TEST_SERVER_URL, APP_KEY).enableManualSessionHandling().setLoggingEnabled(true).setRequestTimeoutDuration(1); // Set timeout to 1 second
2121

2222
await Countly.initWithConfig(config);
2323

example/integration_test/sbs_tests/SBS_000_base_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ void main() {
1515
List<Map<String, List<String>>> requestArray = <Map<String, List<String>>>[];
1616
createServerWithConfig(requestArray, {});
1717
// Initialize the SDK
18-
CountlyConfig config = CountlyConfig('http://0.0.0.0:8080', APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
18+
CountlyConfig config = CountlyConfig(TEST_SERVER_URL, APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
1919
await Countly.initWithConfig(config);
2020

2121
await callAllFeatures();
@@ -24,6 +24,7 @@ void main() {
2424
List<String> EQ = await getEventQueue();
2525
expect(RQ.length, 0);
2626
expect(EQ.length, 0);
27+
deduplicateRequestArray(requestArray);
2728
validateRequestCounts({'events': 3, 'location': 1, 'crash': 2, 'begin_session': 1, 'consent': 0, 'end_session': 1, 'session_duration': 2, 'apm': 2, 'user_details': Platform.isIOS ? 2 : 1}, requestArray);
2829
validateInternalEventCounts({'orientation': 1, 'view': 6, 'nps': 1}, requestArray);
2930
validateImmediateCounts({'hc': 1, 'sc': 1, 'feedback': 1, 'queue': 2, 'ab': 1, 'ab_opt_out': 1, 'rc': 1}, requestArray);

example/integration_test/sbs_tests/SBS_200A_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ void main() {
1919
});
2020

2121
// Initialize the SDK
22-
CountlyConfig config = CountlyConfig('http://0.0.0.0:8080', APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
22+
CountlyConfig config = CountlyConfig(TEST_SERVER_URL, APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
2323

2424
await Countly.initWithConfig(config);
2525
await Future.delayed(const Duration(seconds: 2));
@@ -33,7 +33,7 @@ void main() {
3333
await callAllFeatures(disableEnterContent: true);
3434
RQ = await getRequestQueueParsed();
3535
expect(RQ.length, 0);
36-
36+
deduplicateRequestArray(requestArray);
3737
validateRequestCounts({'first': 0, 'second': 1, 'events': Platform.isAndroid ? 3 : 2, 'location': 1, 'crash': 2, 'begin_session': 1, 'end_session': 1, 'session_duration': 2, 'apm': 2, 'user_details': Platform.isIOS ? 2 : 1, 'consent': 0}, requestArray);
3838
// validate that first request is deleted from the queue because of dort: 1
3939
validateInternalEventCounts({'orientation': 1, 'view': Platform.isAndroid ? 6 : 5, 'nps': 1}, requestArray); // 6 android

example/integration_test/sbs_tests/SBS_200B_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void main() {
1717
});
1818

1919
// Initialize the SDK
20-
CountlyConfig config = CountlyConfig('http://0.0.0.0:8080', APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
20+
CountlyConfig config = CountlyConfig(TEST_SERVER_URL, APP_KEY).enableManualSessionHandling().setLoggingEnabled(true);
2121

2222
await Countly.initWithConfig(config);
2323
await Future.delayed(const Duration(seconds: 2));

0 commit comments

Comments
 (0)