public void GetManagementUriSucceeds()
        {
            // Arrange
            var managementUriName = SchedulerAppSettings.Keys.EXTERNAL_WORKFLOW_MANAGEMENT_URI_NAME;
            var managementUri = new ManagementUri()
            {
                Id = 42
                ,
                Name = managementUriName
                ,
                ManagementCredentialId = 5
            };
            var managementUris = new List<ManagementUri>()
            {
                managementUri
            };
            
            var dataServiceQuery = Mock.Create<DataServiceQuery<ManagementUri>>();
            Mock.Arrange(() => dataServiceQuery.Where(e => e.Name == managementUriName))
                .IgnoreInstance()
                .Returns(managementUris.AsQueryable())
                .MustBeCalled();

            var sut = new ActivitiPluginConfigurationManager();

            // Act
            var result = sut.GetManagementUri(dataServiceQuery, managementUriName);

            // Assert
            Assert.AreEqual(managementUriName, result.Name);
        }
        public void GetManagementCredentialSucceeds()
        {
            // Arrange
            var managementUriName = SchedulerAppSettings.Keys.EXTERNAL_WORKFLOW_MANAGEMENT_URI_NAME;
            var managementCredentialId = 42;
            var username = "******";
            var password = "******";
            var managementCredential = new ManagementCredential()
            {
                Id = managementCredentialId
                ,
                Name = managementUriName
                ,
                Username = username
                ,
                Password = password
            };
            var managementCredentials = new List<ManagementCredential>()
            {
                managementCredential
            };
            
            var dataServiceQuery = Mock.Create<DataServiceQuery<ManagementCredential>>();
            Mock.Arrange(() => dataServiceQuery.Where(e => e.Id == managementCredentialId))
                .IgnoreInstance()
                .Returns(managementCredentials.AsQueryable())
                .MustBeCalled();

            var sut = new ActivitiPluginConfigurationManager();

            // Act
            var result = sut.GetManagementCredential(dataServiceQuery, managementCredentialId);

            // Assert
            Assert.AreEqual(managementCredentialId, result.Id);
            Assert.AreEqual(username, result.Username);
            Assert.AreEqual(password, result.Password);
        }
        public void GetManagementUriName()
        {
            // Arrange
            var managementUriName = SchedulerAppSettings.Keys.EXTERNAL_WORKFLOW_MANAGEMENT_URI_NAME;

            Mock.SetupStatic(typeof(ConfigurationManager));
            Mock.Arrange(() => ConfigurationManager.AppSettings[Arg.IsAny<string>()])
                .Returns(managementUriName)
                .MustBeCalled();

            var sut = new ActivitiPluginConfigurationManager();

            // Act
            var result = sut.GetManagementUriName();

            // Assert
            Mock.Assert(() => ConfigurationManager.AppSettings[Arg.IsAny<string>()]);
            Assert.AreEqual(managementUriName, result);
        }
        public void GetCredentialSucceeds()
        {
            // Arrange
            var managementUriName = SchedulerAppSettings.Keys.EXTERNAL_WORKFLOW_MANAGEMENT_URI_NAME;
            var managementCredentialId = 42;
            var username = "******";
            var password = "******";
            var managementCredential = new ManagementCredential()
            {
                Id = managementCredentialId
                ,
                Name = managementUriName
                ,
                Username = username
                ,
                Password = password
            };

            var sut = new ActivitiPluginConfigurationManager();

            // Act
            var result = sut.GetCredential(managementCredential);

            // Assert
            Assert.AreEqual(username, result.UserName);
            Assert.AreEqual(password, result.Password);
        }