AdjustTest.Pcl.TestActivityHandler.TestOpenUrl C# (CSharp) Method

TestOpenUrl() public method

public TestOpenUrl ( ) : void
return void
        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");
        }