Пример #1
0
    private void ShowBasicFunctions()
    {
        if (GUI.Button(GetMiddleRect1(), "ShowNotice"))
        {
            message = string.Empty;
            Didomi.GetInstance().Reset();
            Didomi.GetInstance().ShowNotice();
            message += "ShowNotice";
        }

        if (GUI.Button(GetMiddleRect2(), "ShowPreferences"))
        {
            message = string.Empty;
            Didomi.GetInstance().Reset();
            Didomi.GetInstance().ShowPreferences();
            message += "showPreferences";
        }

        if (GUI.Button(GetMiddleRect3(), "Reset"))
        {
            message = string.Empty;
            Didomi.GetInstance().Reset();
            message += "Reset called";
        }

        if (GUI.Button(GetMiddleRect4(), "More Functions"))
        {
            uiStyle = ViewKind.Detailed;
        }
    }
Пример #2
0
        private void TestGetVendor(StringBuilder logs)
        {
            AddLogLine(logs, "TestGetVendor ...");

            var vendorId = GetFirstRequiredVendorId();

            if (!string.IsNullOrEmpty(vendorId))
            {
                if (Application.platform == RuntimePlatform.Android)
                {
                    // Vendor model not available on iOS
                    var vendor = Didomi.GetInstance().GetVendor(vendorId);
                    if (vendor?.GetId() == vendorId)
                    {
                        TestSucceeded(logs);
                    }
                    else
                    {
                        TestFailed(logs, description: "Vendor not found.");
                    }
                }
                else
                {
                    TestSucceeded(logs);
                }
            }
            else
            {
                TestFailed(logs, description: "Test cannot run. No vendor id found to test");
            }
        }
Пример #3
0
    private void Legitimate()
    {
        if (GUI.Button(GetFuncRect1(), $"GetUserLegitimate{Environment.NewLine}InterestStatusForPurpose"))
        {
            message = string.Empty;
            var purposeId = GetFirstRequiredPurposeId();
            var retval    = Didomi.GetInstance().GetUserLegitimateInterestStatusForPurpose(purposeId);
            message += "GetUserLegitimateInterestStatusForPurpose" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect2(), $"GetUserLegitimate{Environment.NewLine}InterestStatusForVendor"))
        {
            message = string.Empty;
            var vendorId = GetFirstRequiredVendorId();
            var retval   = Didomi.GetInstance().GetUserLegitimateInterestStatusForVendor(vendorId);
            message += "GetUserLegitimateInterestStatusForVendor" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect3(), $"GetUserLegitimateInterestStatus{Environment.NewLine}ForVendorAndRequiredPurposes"))
        {
            message = string.Empty;
            var vendorId = GetFirstRequiredVendorId();
            var retval   = Didomi.GetInstance().GetUserLegitimateInterestStatusForVendorAndRequiredPurposes(vendorId);
            message += "GetUserLegitimateInterestStatusForVendorAndRequiredPurposes" + MessageForObject(retval);
        }
    }
Пример #4
0
        private void AssertPurposesAndVendorsCount(
            StringBuilder logs,
            bool hasRequiredElements,
            bool hasEnabledElements,
            bool hasDisabledElements)
        {
            bool success = true;

            success &= AssertEmptiness(logs, Didomi.GetInstance().GetRequiredPurposeIds(), hasRequiredElements, "requiredPurposeIds");
            success &= AssertEmptiness(logs, Didomi.GetInstance().GetRequiredVendorIds(), hasRequiredElements, "requiredVendorIds");

            success &= AssertEmptiness(logs, Didomi.GetInstance().GetEnabledPurposeIds(), hasEnabledElements, "enabledPurposeIds");
            success &= AssertEmptiness(logs, Didomi.GetInstance().GetEnabledVendorIds(), hasEnabledElements, "enabledVendorIds");

            success &= AssertEmptiness(logs, Didomi.GetInstance().GetDisabledPurposeIds(), hasDisabledElements, "disabledPurposeIds");
            success &= AssertEmptiness(logs, Didomi.GetInstance().GetDisabledVendorIds(), hasDisabledElements, "disabledVendorIds");

            // Vendor and purpose models are not available on iOS
            if (Application.platform == RuntimePlatform.Android)
            {
                success &= AssertEmptiness(logs, Didomi.GetInstance().GetRequiredPurposes(), hasRequiredElements, "requiredPurposes");
                success &= AssertEmptiness(logs, Didomi.GetInstance().GetRequiredVendors(), hasRequiredElements, "requiredVendors");

                success &= AssertEmptiness(logs, Didomi.GetInstance().GetEnabledPurposes(), hasEnabledElements, "enabledPurposes");
                success &= AssertEmptiness(logs, Didomi.GetInstance().GetEnabledVendors(), hasEnabledElements, "enabledVendors");

                success &= AssertEmptiness(logs, Didomi.GetInstance().GetDisabledPurposes(), hasDisabledElements, "disabledPurposes");
                success &= AssertEmptiness(logs, Didomi.GetInstance().GetDisabledVendors(), hasDisabledElements, "disabledVendors");
            }

            if (success)
            {
                TestSucceeded(logs);
            }
        }
Пример #5
0
        private void TestSetUserConsentStatus(StringBuilder logs)
        {
            AddLogLine(logs, "TestSetUserConsentStatus ...");

            Didomi.GetInstance().Reset();
            Didomi.GetInstance().SetUserDisagreeToAll();

            ISet <string> enabledPurposeIds  = Didomi.GetInstance().GetRequiredPurposeIds();
            ISet <string> disabledPurposeIds = new HashSet <string>();
            ISet <string> enabledVendorIds   = Didomi.GetInstance().GetRequiredVendorIds();
            ISet <string> disabledVendorIds  = new HashSet <string>();

#pragma warning disable CS0618 // Disable obsolete warning in tests
            var changed = Didomi.GetInstance().SetUserConsentStatus(
                enabledPurposeIds,
                disabledPurposeIds,
                enabledVendorIds,
                disabledVendorIds);
#pragma warning restore CS0618

            var enabledPurposeIdSet = Didomi.GetInstance().GetEnabledPurposeIds();

            if (changed && enabledPurposeIdSet.Count > 0)
            {
                TestSucceeded(logs);
            }
            else
            {
                TestFailed(logs);
            }
        }
Пример #6
0
    private void Consent_2()
    {
        if (GUI.Button(GetFuncRect1(), "SetUserAgreeToAll"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().SetUserAgreeToAll();
            message += "SetUserAgreeToAll" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect2(), "SetUserDisagreeToAll"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().SetUserDisagreeToAll();
            message += "SetUserDisagreeToAll" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect3(), "SetUserStatus 1"))
        {
            message = string.Empty;

            ISet <string> enabledConsentPurposeIds  = Didomi.GetInstance().GetRequiredPurposeIds();
            ISet <string> disabledConsentPurposeIds = new HashSet <string>();
            ISet <string> enabledLIPurposeIds       = new HashSet <string>();
            ISet <string> disabledLIPurposeIds      = new HashSet <string>();
            ISet <string> enabledConsentVendorIds   = new HashSet <string>();
            ISet <string> disabledConsentVendorIds  = new HashSet <string>();
            ISet <string> enabledLIVendorIds        = new HashSet <string>();
            ISet <string> disabledLIVendorIds       = new HashSet <string>();

            var retval = Didomi.GetInstance().SetUserStatus(
                enabledConsentPurposeIds,
                disabledConsentPurposeIds,
                enabledLIPurposeIds,
                disabledLIPurposeIds,
                enabledConsentVendorIds,
                disabledConsentVendorIds,
                enabledLIVendorIds,
                disabledLIVendorIds);

            message += "SetUserStatus 1" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect4(), "SetUserStatus 2"))
        {
            message = string.Empty;

            bool purposesConsentStatus = true;
            bool purposesLIStatus      = false;
            bool vendorsConsentStatus  = false;
            bool vendorsLIStatus       = false;

            var retval = Didomi.GetInstance().SetUserStatus(
                purposesConsentStatus,
                purposesLIStatus,
                vendorsConsentStatus,
                vendorsLIStatus);

            message += "SetUserStatus 2" + MessageForObject(retval);
        }
    }
Пример #7
0
    void Events()
    {
        if (GUI.Button(GetFuncRect1(), "AddEventListener"))
        {
            message = string.Empty;
            RegisterEventHandlers();
            message += "AddEventListener";
        }

        if (GUI.Button(GetFuncRect2(), "OnError"))
        {
            message = string.Empty;

            Didomi.GetInstance().OnError(
                () => { message = "OnError Event Fired."; }
                );
        }

        if (GUI.Button(GetFuncRect3(), "OnReady"))
        {
            message = string.Empty;

            Didomi.GetInstance().OnReady(
                () => { message = "OnReady Event Fired."; }
                );
        }
    }
Пример #8
0
        private void TestGetUserConsentStatusForVendorAndRequiredPurposes(StringBuilder logs)
        {
            AddLogLine(logs, "TestGetUserConsentStatusForVendorAndRequiredPurposes ...");

            Didomi.GetInstance().Reset();
            Didomi.GetInstance().SetUserAgreeToAll();

            var vendorId = GetFirstRequiredVendorId();

            if (!string.IsNullOrEmpty(vendorId))
            {
#pragma warning disable CS0618 // Disable obsolete warning in tests
                var result = Didomi.GetInstance().GetUserConsentStatusForVendorAndRequiredPurposes(vendorId);
#pragma warning restore CS0618

                if (result)
                {
                    TestSucceeded(logs);
                }
                else
                {
                    TestFailed(logs, description: "Vendor not found to set consent for required purposes.");
                }
            }
            else
            {
                TestFailed(logs, description: "Test cannot run. No vendor id found to test consent for required purposes");
            }
        }
Пример #9
0
    void Initialization()
    {
        if (GUI.Button(GetFuncRect1(), "Initialize"))
        {
            InitializeDidomi();
        }

        if (GUI.Button(GetFuncRect2(), "Initialize1"))
        {
            Initialize1Didomi();
        }

        if (GUI.Button(GetFuncRect3(), "IsReady"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().IsReady();
            message += "IsReady" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect4(), "Reset"))
        {
            message = string.Empty;
            Didomi.GetInstance().Reset();
            message += "Reset called";
        }
    }
Пример #10
0
    private void Language()
    {
        if (GUI.Button(GetFuncRect1(), "GetText"))
        {
            message = string.Empty;
            var key  = "notice.content.notice";
            var dict = Didomi.GetInstance().GetText(key);
            message += "GetText" + MessageForObject(dict);
        }

        if (GUI.Button(GetFuncRect2(), "GetTranslatedText"))
        {
            message = string.Empty;

            var key    = "notice.content.notice";
            var retval = Didomi.GetInstance().GetTranslatedText(key);

            message += "GetTranslatedText" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect3(), "UpdateSelectedLanguage"))
        {
            message = string.Empty;

            var languageCode = "fr";

            Didomi.GetInstance().UpdateSelectedLanguage(languageCode);

            message += "UpdateSelectedLanguage";
        }
    }
Пример #11
0
    private void Notice()
    {
        if (GUI.Button(GetFuncRect1(), "SetupUI"))
        {
            message = string.Empty;
            Didomi.GetInstance().Reset();
            Didomi.GetInstance().SetupUI();
            message += "SetupUI";
        }

        if (GUI.Button(GetFuncRect2(), "ShowNotice"))
        {
            message = string.Empty;
            Didomi.GetInstance().Reset();
            Didomi.GetInstance().ShowNotice();
            message += "ShowNotice";
        }

        if (GUI.Button(GetFuncRect3(), "HideNotice"))
        {
            message = string.Empty;
            Didomi.GetInstance().HideNotice();
            message += "HideNotice";
        }

        if (GUI.Button(GetFuncRect4(), "IsNoticeVisible"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().IsNoticeVisible();
            message += "IsNoticeVisible" + MessageForObject(retval);
        }
    }
Пример #12
0
    private void Consent_3()
    {
        if (GUI.Button(GetFuncRect1(), "IsConsentRequired"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().IsConsentRequired();
            message += "IsConsentRequired" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect2(), "IsUserConsentStatusPartial"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().IsUserConsentStatusPartial();
            message += "IsUserConsentStatusPartial" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect3(), "ShouldConsentBeCollected"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().ShouldConsentBeCollected();
            message += "ShouldConsentBeCollected" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect4(), "GetJavaScriptForWebView"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().GetJavaScriptForWebView();
            message += "GetJavaScriptForWebView" + MessageForObject(retval);
        }
    }
Пример #13
0
        private void TestGetPurpose(StringBuilder logs)
        {
            AddLogLine(logs, "TestGetPurpose ...");

            var purposeId = GetFirstRequiredPurposeId();


            if (!string.IsNullOrEmpty(purposeId))
            {
                if (Application.platform == RuntimePlatform.Android)
                {
                    // Purpose model not available on iOS
                    var purpose = Didomi.GetInstance().GetPurpose(purposeId);

                    if (purpose?.GetId() == purposeId)
                    {
                        TestSucceeded(logs);
                    }
                    else
                    {
                        TestFailed(logs, description: "Purpose not found.");
                    }
                }
                else
                {
                    TestSucceeded(logs);
                }
            }
            else
            {
                TestFailed(logs, description: "Test cannot run. No purpose id found to test");
            }
        }
Пример #14
0
    private void RegisterEventHandlers()
    {
        DidomiEventListener eventListener = new DidomiEventListener();

        eventListener.ConsentChanged                    += EventListener_ConsentChanged;
        eventListener.HideNotice                        += EventListener_HideNotice;
        eventListener.Ready                             += EventListener_Ready;
        eventListener.Error                             += EventListener_Error;
        eventListener.NoticeClickAgree                  += EventListener_NoticeClickAgree;
        eventListener.NoticeClickMoreInfo               += EventListener_NoticeClickMoreInfo;
        eventListener.PreferencesClickAgreeToAll        += EventListener_PreferencesClickAgreeToAll;
        eventListener.PreferencesClickDisagreeToAll     += EventListener_PreferencesClickDisagreeToAll;
        eventListener.PreferencesClickPurposeAgree      += EventListener_PreferencesClickPurposeAgree;
        eventListener.PreferencesClickPurposeDisagree   += EventListener_PreferencesClickPurposeDisagree;
        eventListener.PreferencesClickSaveChoices       += EventListener_PreferencesClickSaveChoices;
        eventListener.PreferencesClickVendorAgree       += EventListener_PreferencesClickVendorAgree;
        eventListener.PreferencesClickVendorDisagree    += EventListener_PreferencesClickVendorDisagree;
        eventListener.PreferencesClickVendorSaveChoices += EventListener_PreferencesClickVendorSaveChoices;
        eventListener.PreferencesClickViewVendors       += EventListener_PreferencesClickViewVendors;
        eventListener.ShowNotice                        += EventListener_ShowNotice;
        eventListener.HidePreferences                   += EventListener_HidePreferences;
        eventListener.ShowPreferences                   += EventListener_ShowPreferences;


        Didomi.GetInstance().AddEventListener(eventListener);
    }
Пример #15
0
        private void TestIsConsentRequired(StringBuilder logs)
        {
            AddLogLine(logs, "TestIsConsentRequired ...");

            Didomi.GetInstance().IsConsentRequired();

            TestSucceeded(logs);
        }
Пример #16
0
        private void TestPurposesAndVendorsCountAfterReset(StringBuilder logs)
        {
            AddLogLine(logs, "TestPurposesAndVendorsCountAfterReset ...");

            Didomi.GetInstance().Reset();

            AssertPurposesAndVendorsCount(logs, true, false, false);
        }
Пример #17
0
        private void TestIsUserConsentStatusPartial(StringBuilder logs)
        {
            AddLogLine(logs, "TestIsUserConsentStatusPartial ...");

            Didomi.GetInstance().IsUserConsentStatusPartial();

            TestSucceeded(logs);
        }
Пример #18
0
 void Start()
 {
     labelResult = GameObject.Find("Result");
     panel       = GameObject.Find("Panel");
     SetResponsiveLayout();
     InitializeDidomi();
     Didomi.GetInstance().SetupUI();
 }
Пример #19
0
        private void TestPurposesAndVendorsCountAfterUserDisagreeToAll(StringBuilder logs)
        {
            AddLogLine(logs, "TestPurposesAndVendorsCountAfterUserDisagreeToAll ...");

            Didomi.GetInstance().Reset();
            Didomi.GetInstance().SetUserDisagreeToAll();

            AssertPurposesAndVendorsCount(logs, true, false, true);
        }
Пример #20
0
        private void TestUpdateSelectedLanguage(StringBuilder logs)
        {
            AddLogLine(logs, "TestUpdateSelectedLanguage ...");

            var languageCode = "fr";

            Didomi.GetInstance().UpdateSelectedLanguage(languageCode);

            TestSucceeded(logs);
        }
Пример #21
0
        public IEnumerator RunAll(MonoBehaviour mono, bool remoteNotice = false)
        {
            this.mono = mono;
            _logs     = string.Empty;
            try
            {
                string apiKey   = remoteNotice ? "9bf8a7e4-db9a-4ff2-a45c-ab7d2b6eadba" : "c3cd5b46-bf36-4700-bbdc-4ee9176045aa";
                string noticeId = remoteNotice ? "Ar7NPQ72" : null;
                string localConfigurationPath    = null;
                string remoteConfigurationURL    = null;
                string providerId                = null;
                bool   disableDidomiRemoteConfig = !remoteNotice;
                string languageCode              = null;

                Debug.Log("Tests: Initializing sdk");
                _logs += $"{Environment.NewLine}Initializing sdk - ";

                Didomi didomi = Didomi.GetInstance();
                if (Application.platform == RuntimePlatform.Android && didomi.IsReady())
                {
                    throw new Exception("SDK was already initialized. To run the tests, close and restart the app without initializing SDK.");
                }

                didomi.Initialize(
                    apiKey,
                    localConfigurationPath,
                    remoteConfigurationURL,
                    providerId,
                    disableDidomiRemoteConfig,
                    languageCode,
                    noticeId);

                didomi.OnReady(
                    () => {
                    mono.StartCoroutine(RunTests(remoteNotice));
                }
                    );
                didomi.OnError(
                    () => {
                    _logs        += $"{Environment.NewLine}Error initializing SDK.";
                    testsComplete = true;
                }
                    );
            }
            catch (Exception ex)
            {
                _logs        += $"{Environment.NewLine}Exception : {ex.Message}";
                _logs        += $"{Environment.NewLine}Exception : {ex.StackTrace}";
                testsFailure  = true;
                testsComplete = true;
            }

            yield return(new WaitUntil(() => testsComplete));
        }
Пример #22
0
        private string GetFirstRequiredPurposeId()
        {
            var requiredPurposeIdSet = Didomi.GetInstance().GetRequiredPurposeIds();

            var purposeId = string.Empty;

            if (requiredPurposeIdSet.Count > 0)
            {
                purposeId = requiredPurposeIdSet.FirstOrDefault();
            }

            return(purposeId);
        }
Пример #23
0
        private string GetFirstRequiredVendorId()
        {
            var requiredVendorIdSet = Didomi.GetInstance().GetRequiredVendorIds();

            var vendorId = string.Empty;

            if (requiredVendorIdSet.Count > 0)
            {
                vendorId = requiredVendorIdSet.FirstOrDefault();
            }

            return(vendorId);
        }
Пример #24
0
        private void TestIsReady(StringBuilder logs)
        {
            AddLogLine(logs, "TestIsReady ...");

            var isReady = Didomi.GetInstance().IsReady();

            if (isReady)
            {
                TestSucceeded(logs);
            }
            else
            {
                TestFailed(logs);
            }
        }
Пример #25
0
        private void TestGetJavaScriptForWebView(StringBuilder logs)
        {
            AddLogLine(logs, "TestGetJavaScriptForWebView ...");

            var retval = Didomi.GetInstance().GetJavaScriptForWebView();

            if (string.IsNullOrWhiteSpace(retval))
            {
                AddLogLine(logs, Fail);
            }
            else
            {
                TestSucceeded(logs);
            }
        }
Пример #26
0
        private void TestGetTranslatedText(StringBuilder logs)
        {
            AddLogLine(logs, "TestGetTranslatedText ...");

            var key   = "notice.content.notice";
            var value = Didomi.GetInstance().GetTranslatedText(key);

            if (!string.IsNullOrWhiteSpace(value))
            {
                TestSucceeded(logs);
            }
            else
            {
                TestFailed(logs);
            }
        }
Пример #27
0
        private void TestGetText(StringBuilder logs)
        {
            AddLogLine(logs, "TestGetText ...");

            var key  = "notice.content.notice";
            var dict = Didomi.GetInstance().GetText(key);

            if (dict != null)
            {
                TestSucceeded(logs);
            }
            else
            {
                TestFailed(logs);
            }
        }
Пример #28
0
    private void InitializeDidomi()
    {
        message = string.Empty;

        Didomi.GetInstance().OnReady(
            () => { message = "Ready"; }
            );

        Didomi.GetInstance().Initialize(
            apiKey: "c3cd5b46-bf36-4700-bbdc-4ee9176045aa",
            localConfigurationPath: null,
            remoteConfigurationURL: null,
            providerId: null,
            disableDidomiRemoteConfig: true,
            languageCode: null);
    }
Пример #29
0
    private void Vendor_1()
    {
        if (GUI.Button(GetFuncRect1(), "GetEnabledVendors"))
        {
            if (Application.platform == RuntimePlatform.Android)
            {
                message = string.Empty;
                var retval = Didomi.GetInstance().GetEnabledVendors();
                message += "GetEnabledVendors" + MessageForObject(retval);
            }
            else
            {
                message = NotCallableForObjectiveC;
            }
        }

        if (GUI.Button(GetFuncRect2(), "GetEnabledVendorIds"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().GetEnabledVendorIds();
            message += "GetEnabledVendorIds" + MessageForObject(retval);
        }

        if (GUI.Button(GetFuncRect3(), "GetDisabledVendors"))
        {
            if (Application.platform == RuntimePlatform.Android)
            {
                message = string.Empty;
                var retval = Didomi.GetInstance().GetDisabledVendors();
                message += "GetDisabledVendors" + MessageForObject(retval);
            }
            else
            {
                message = NotCallableForObjectiveC;
            }
        }

        if (GUI.Button(GetFuncRect4(), "GetDisabledVendorIds"))
        {
            message = string.Empty;
            var retval = Didomi.GetInstance().GetDisabledVendorIds();
            message += "GetDisabledVendorIds" + MessageForObject(retval);
        }
    }
Пример #30
0
        private IEnumerator TestShowPreferences(StringBuilder logs)
        {
            AddLogLine(logs, "TestShowPreferences processing...");

            Didomi.GetInstance().HidePreferences();
            Didomi.GetInstance().Reset();

            var success = true;

            yield return(new WaitForSeconds(1));

            if (Didomi.GetInstance().IsPreferencesVisible())
            {
                TestFailed(logs, "Preferences must be invisible after reset call.");
                success = false;
            }

            Didomi.GetInstance().ShowPreferences();

            yield return(new WaitForSeconds(1));

            if (!Didomi.GetInstance().IsPreferencesVisible())
            {
                TestFailed(logs, "Preferences must be visible after ShowPreferences call");
                success = false;
            }

            Didomi.GetInstance().HidePreferences();

            yield return(new WaitForSeconds(1));

            if (Didomi.GetInstance().IsPreferencesVisible())
            {
                TestFailed(logs, "Preferences must be invisible after HidePreferences call");
                success = false;
            }

            if (success)
            {
                TestSucceeded(logs);
            }
        }