public void TestThatIsLicenseValidReturnsFalseForAnInvalidLicense()
        {
            License license = new License(License.Status.Invalid);

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.False, "License is expected to be invalid.");
        }
        public void TestThatIsActiveDirectoryImportEnabledReturnsFalseForAMissingLicense()
        {
            License license = new License(License.Status.Missing);

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.False, "License is expected to be invalid.");
            Assert.That(capabilities.IsActiveDirectoryImportEnabled, Is.False, "Active Directory Import should be disabled.");
        }
        public void TestThatProductReturnsUnknownForAMissingLicense()
        {
            License license = new License(License.Status.Missing);

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.False, "License is expected to be invalid.");
            Assert.That(capabilities.Product, Is.EqualTo("Unknown"), "Should return \"Unknown\".");
        }
        public void TestThatMaximumNumberOfPortsReturns0ForAMissingLicense()
        {
            License license = new License(License.Status.Missing);

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.False, "License is expected to be invalid.");
            Assert.That(capabilities.MaximumNumberOfPorts, Is.EqualTo(0), "Allowed number of ports should be 0.");
        }
        public void TestThatIsActiveDirectoryImportEnabledReturnsFalseIfActiveDirectoryImportElementIsSetToDisabled()
        {
            License license = new License();

            license.SetLicenseElement("ActiveDirectoryImport", "disabled");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.IsActiveDirectoryImportEnabled, Is.False, "Active Directory Import should be disabled.");
        }
        public void TestThatIsGroupsEnabledReturnsTrueIfGroupsElementIsSetToEnabled()
        {
            License license = new License();

            license.SetLicenseElement("Groups", "Enabled");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.IsGroupsEnabled, Is.True, "Groups should be enabled.");
        }
        public void TestThatProductReturnsDemo()
        {
            License license = new License();

            license.SetLicenseElement("Product", "demo");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.Product, Is.EqualTo("Demo"), "Should return \"Demo\".");
        }
        public void TestThatMaximumNumberOfPortsReturns0IfMaximumNumberOfPortsElementIsSetToUnlimited()
        {
            License license = new License();

            license.SetLicenseElement("MaximumNumberOfPorts", "Unlimited");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.MaximumNumberOfPorts, Is.EqualTo(0), "Allowed number of ports should be 0.");
        }
        public void TestThatMaximumNumberOfDirectoryEntriesReturns0IfMaximumNumberOfDirectoryEntriesElementIsSetToANonNumericValue()
        {
            License license = new License();

            license.SetLicenseElement("MaximumNumberOfDirectoryEntries", "25!");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.MaximumNumberOfDirectoryEntries, Is.EqualTo(0), "Allowed number of directory entries should be 0.");
        }
        public void TestThatMaximumNumberOfDIDsReturnsCorrectValueIfMaximumNumberOfDIDsElementIsSetToAValue()
        {
            License license = new License();

            license.SetLicenseElement("MaximumNumberOfDids", "5");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.MaximumNumberOfDIDs, Is.EqualTo(5), "Allowed DIDs should be 5.");
        }
        public void TestThatIsCollaborationEnabledReturnsFalseIfCollaborationElementIsSetToDisabled()
        {
            License license = new License();

            license.SetLicenseElement("Collaboration", " DisAbled  ");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.IsCollaborationEnabled, Is.False, "Collaboration should be disabled.");
        }
        public void TestThatDialogDesignerIsDisabledWhenLicenseIsMissing()
        {
            License license = new License(License.Status.Missing);

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.False, "License is expected to be invalid.");
            Assert.That(capabilities.IsDialogDesignerEnabled, Is.False, "Dialog Designer should be disabled.");
            Assert.That(capabilities.IsDialogDesignerDtmfOnly, Is.False, "Dialog Designer DTMF mode should be disabled.");
            Assert.That(capabilities.IsDialogDesignerPressOrSay, Is.False, "Dialog Designer Press Or Say mode should be disabled.");
            Assert.That(capabilities.IsDialogDesignerSpeech, Is.False, "Dialog Designer Speech mode should be disabled.");
        }
        public void TestThatDialogDesignerIsInSpeechModeWhenDialogDesignerElementIsSetToSpeech()
        {
            License license = new License();

            license.SetLicenseElement("DialogDesigner", "speech");

            InternalCapabilitiesManager capabilities = new InternalCapabilitiesManager(new TestLicenseManager());

            capabilities.ProcessLicense(license.GetLicense());

            Assert.That(capabilities.IsLicenseValid, Is.True, "License is expected to be valid.");
            Assert.That(capabilities.IsDialogDesignerEnabled, Is.True, "Dialog Designer should be enabled.");
            Assert.That(capabilities.IsDialogDesignerDtmfOnly, Is.False, "Dialog Designer DTMF mode should be disabled.");
            Assert.That(capabilities.IsDialogDesignerPressOrSay, Is.False, "Dialog Designer Press Or Say mode should be disabled.");
            Assert.That(capabilities.IsDialogDesignerSpeech, Is.True, "Dialog Designer Speech mode should be enabled.");
        }