public void TestOpenUrl()
{
LogConfig.SetupLogging(logDelegate: msg => System.Diagnostics.Debug.WriteLine(msg),
logLevel: LogLevel.Assert);
// create the config to start the session
AdjustConfig config = new AdjustConfig(appToken: "123456789012", environment: AdjustConfig.EnvironmentSandbox);
// start activity handler with config
ActivityHandler activityHandler = GetActivityHandler(config);
DeviceUtil.Sleep(3000);
// test init values
InitTests(environment: "sandbox", logLevel: "Assert");
// test first session start
CheckFirstSession();
var attributions = new Uri("AdjustTests://example.com/path/inApp?adjust_tracker=trackerValue&other=stuff&adjust_campaign=campaignValue&adjust_adgroup=adgroupValue&adjust_creative=creativeValue");
var extraParams = new Uri("AdjustTests://example.com/path/inApp?adjust_foo=bar&other=stuff&adjust_key=value");
var mixed = new Uri("AdjustTests://example.com/path/inApp?adjust_foo=bar&other=stuff&adjust_campaign=campaignValue&adjust_adgroup=adgroupValue&adjust_creative=creativeValue");
var emptyQueryString = new Uri("AdjustTests://");
Uri nullUri = null;
var single = new Uri("AdjustTests://example.com/path/inApp?adjust_foo");
var prefix = new Uri("AdjustTests://example.com/path/inApp?adjust_=bar");
var incomplete = new Uri("AdjustTests://example.com/path/inApp?adjust_foo=");
activityHandler.OpenUrl(attributions);
activityHandler.OpenUrl(extraParams);
activityHandler.OpenUrl(mixed);
activityHandler.OpenUrl(emptyQueryString);
activityHandler.OpenUrl(nullUri);
activityHandler.OpenUrl(single);
activityHandler.OpenUrl(prefix);
activityHandler.OpenUrl(incomplete);
DeviceUtil.Sleep(1000);
// three click packages: attributions, extraParams and mixed
for (int i = 3; i > 0; i--)
{
Assert.Test("PackageHandler AddPackage");
}
// checking the default values of the first session package
// 1 session + 3 click
Assert.AreEqual(4, MockPackageHandler.PackageQueue.Count);
// get the click package
ActivityPackage attributionClickPackage = MockPackageHandler.PackageQueue[1];
// create activity package test
TestActivityPackage testAttributionClickPackage = new TestActivityPackage(attributionClickPackage)
{
Attribution = new AdjustAttribution
{
TrackerName = "trackerValue",
Campaign = "campaignValue",
Adgroup = "adgroupValue",
Creative = "creativeValue",
},
};
// test the first deeplink
testAttributionClickPackage.TestClickPackage(source: "deeplink");
// get the click package
ActivityPackage extraParamsClickPackage = MockPackageHandler.PackageQueue[2];
// create activity package test
TestActivityPackage testExtraParamsClickPackage = new TestActivityPackage(extraParamsClickPackage)
{
DeepLinkParameters = "{\"key\":\"value\",\"foo\":\"bar\"}",
};
// test the second deeplink
testExtraParamsClickPackage.TestClickPackage(source: "deeplink");
// get the click package
ActivityPackage mixedClickPackage = MockPackageHandler.PackageQueue[3];
// create activity package test
TestActivityPackage testMixedClickPackage = new TestActivityPackage(mixedClickPackage)
{
Attribution = new AdjustAttribution
{
Campaign = "campaignValue",
Adgroup = "adgroupValue",
Creative = "creativeValue",
},
DeepLinkParameters = "{\"foo\":\"bar\"}",
};
// test the third deeplink
testMixedClickPackage.TestClickPackage(source: "deeplink");
}