public void WhenSmtpPasswordIsSet_UsesPasswordFromAccount()
        {
            var expectedPassword = "******";

            _smtpTestAccount.Password = expectedPassword;
            var assistant = BuildAssistant();

            assistant.SendTestMail(_profile, _accounts);

            _smtpAction.Received().ProcessJob(Arg.Is <Job>(x => x.Passwords.SmtpPassword == expectedPassword));
        }
Esempio n. 2
0
        public void WhenCalled_UsesTheGivenProfile()
        {
            var expectedPassword = "******";

            _profile.EmailSmtpSettings.Password = expectedPassword;
            var assistant = BuildAssistant();

            assistant.SendTestMail(_profile, new Accounts());

            _smtpAction.Received().ProcessJob(Arg.Is <Job>(x => x.Profile.Equals(_profile)));
        }
        public void TheFirstShouldReturnARangeDeclaration()
        {
            var rangeDeclaration = new RangeDeclaration <MyClass>(listBuilderImpl, null, 0, 0);

            listBuilderImpl.Capacity.Returns(30);
            listBuilderImpl.CreateObjectBuilder().Returns((IObjectBuilder <MyClass>)null);
            listBuilderImpl.AddDeclaration(Arg.Is <RangeDeclaration <MyClass> >(y => y.Start == 0 && y.End == 9)).Returns(rangeDeclaration);

            var declaration = ListBuilderExtensions.TheFirst(listBuilderImpl, 10);

            Assert.That(declaration, Is.SameAs(rangeDeclaration));
        }
        public void WhenCalled_WithAutoSave_DisablesAutoSave()
        {
            var expectedPassword = "******";

            _smtpTestAccount.Password = expectedPassword;
            var assistant = BuildAssistant();

            _profile.AutoSave.Enabled = true;

            assistant.SendTestMail(_profile, _accounts);

            _smtpAction.Received().ProcessJob(Arg.Is <Job>(x => x.Profile.AutoSave.Enabled == false));
        }
Esempio n. 5
0
        public void WhenCalled_WithAutoSave_DisablesAutoSave()
        {
            var expectedPassword = "******";

            _profile.EmailSmtpSettings.Password = expectedPassword;
            var assistant = BuildAssistant();

            _smtpAction.Check(Arg.Any <ConversionProfile>(), Arg.Any <Accounts>()).Returns(x => new ActionResult());
            _profile.AutoSave.Enabled = true;
            assistant.SendTestMail(_profile, new Accounts());

            _smtpAction.Received().ProcessJob(Arg.Is <Job>(x => x.Profile.AutoSave.Enabled == false));
        }
Esempio n. 6
0
        public void NSubstitute_onSpecificDrugsRetrieved_WhenEventRaised_DrugServiceListens()
        {
            // Arrange
            var mockDrugService = Substitute.For <IDrugService>();

            _dataAccess.SpecificDrugRetrievedEvent += mockDrugService.OnSpecificDrugsRetrieved;

            // Act
            _dataAccess.GetSpecificDrugs(_drugIds);

            // Assert
            mockDrugService.Received().OnSpecificDrugsRetrieved(_dataAccess, Arg.Is <SpecificDrugRetrievedArgs>(a => Equals(a.DrugIds, _drugIds)));
        }
        public void ShouldBeAbleToUseSection()
        {
            var rangeDeclaration = new RangeDeclaration <MyClass>(listBuilderImpl, null, 10, 19);

            listBuilderImpl.BuilderSettings.Returns(new BuilderSettings());
            listBuilderImpl.Capacity.Returns(20);
            listBuilderImpl.CreateObjectBuilder().Returns((IObjectBuilder <MyClass>)null);
            listBuilderImpl.AddDeclaration(Arg.Is <RangeDeclaration <MyClass> >(y => y.Start == 10 && y.End == 19)).Returns(rangeDeclaration);

            var whereSection = (RangeDeclaration <MyClass>)ListBuilderExtensions.Section(listBuilderImpl, 10, 19);

            Assert.That(whereSection.Start, Is.EqualTo(10));
            Assert.That(whereSection.End, Is.EqualTo(19));
        }
        public void RandomShouldReturnRandomDeclarationOfRangeOfWholeList()
        {
            const int amount = 5;
            const int end    = listSize;

            var randomDeclaration = new RandomDeclaration <MyClass>(listBuilderImpl, null, null, amount, 0, end);

            listBuilderImpl.BuilderSettings.Returns(new BuilderSettings());
            listBuilderImpl.Capacity.Returns(listSize);
            listBuilderImpl.AddDeclaration(Arg.Is <RandomDeclaration <MyClass> >(y => y.Start == 0 && y.End == end)).Returns(randomDeclaration);

            IDeclaration <MyClass> declaration;

            declaration = (IDeclaration <MyClass>)ListBuilderExtensions.Random(listBuilderImpl, amount);

            Assert.That(declaration.Start, Is.EqualTo(0));
            Assert.That(declaration.End, Is.EqualTo(end));
        }
        public void LastRangeShouldBeTheCapacityMinusTheRangeSizeAndOneLessThanTheCapacity()
        {
            const int rangeSize  = 10;
            const int startIndex = listSize - rangeSize; // 20
            const int endIndex   = listSize - 1;         // 29

            var rangeDeclaration = new RangeDeclaration <MyClass>(listBuilderImpl, null, 0, 0);


            listBuilderImpl.BuilderSettings.Returns(new BuilderSettings());
            listBuilderImpl.Capacity.Returns(listSize);
            listBuilderImpl.CreateObjectBuilder().Returns((IObjectBuilder <MyClass>)null);
            listBuilderImpl.AddDeclaration(Arg.Is <RangeDeclaration <MyClass> >(y => y.Start == startIndex && y.End == endIndex)).Returns(rangeDeclaration);

            var declaration = ListBuilderExtensions.TheLast(listBuilderImpl, 10);

            Assert.That(declaration, Is.SameAs(rangeDeclaration));
        }
        public void RandomCanReturnDeclarationForASectionOfTheList()
        {
            const int amount = 5;
            const int start  = 10;
            const int end    = 20;

            var randomDeclaration = new RandomDeclaration <MyClass>(listBuilderImpl, null, null, amount, start, end);


            listBuilderImpl.Capacity.Returns(listSize);
            listBuilderImpl.AddDeclaration(Arg.Is <RandomDeclaration <MyClass> >(y => y.Start == start && y.End == end)).Returns(randomDeclaration);



            var declaration = (IDeclaration <MyClass>)ListBuilderExtensions.Random(listBuilderImpl, amount, start, end);

            Assert.That(declaration.Start, Is.EqualTo(start));
            Assert.That(declaration.End, Is.EqualTo(end));
        }
        public async Task WhenAuthenticateCalledWithNoStoredInfo_ThenInfoIsFetchedAndStored()
        {
            SetupEmptyLocalStore();

            _healthVaultConfiguration.MasterApplicationId = s_masterApplicationId;

            var responseMessage1 = GenerateResponseMessage("NewApplicationCreationInfoResult.xml");
            var responseMessage2 = GenerateResponseMessage("GetServiceDefinitionResult.xml");

            // #3 is CAST call - but goes through IClientSessionCredentialClient and not HealthWebRequestClient
            var responseMessage4 = GenerateResponseMessage("GetAuthorizedPeopleResult.xml");

            // The first few calls use the default endpoint
            _subHealthWebRequestClient
            .SendAsync(
                new Uri("https://platform2.healthvault.com/platform/wildcat.ashx"),
                Arg.Any <byte[]>(),
                Arg.Any <int>(),
                Arg.Any <IDictionary <string, string> >(),
                Arg.Any <CancellationToken>())
            .Returns(responseMessage1, responseMessage2);

            // After GetServiceDefinition called, we are calling new endpoint
            _subHealthWebRequestClient
            .SendAsync(
                new Uri("https://platform.healthvault-ppe.com/platform/wildcat.ashx"),
                Arg.Any <byte[]>(),
                Arg.Any <int>(),
                Arg.Any <IDictionary <string, string> >(),
                Arg.Any <CancellationToken>())
            .Returns(responseMessage4);

            var sessionCredential = new SessionCredential
            {
                Token        = SessionToken,
                SharedSecret = SessionSharedSecret
            };

            _subClientSessionCredentialClient
            .GetSessionCredentialAsync(Arg.Any <CancellationToken>())
            .Returns(sessionCredential);

            _subServiceLocator
            .GetInstance <IClientSessionCredentialClient>()
            .Returns(_subClientSessionCredentialClient);

            // These values match the values in NewApplicationCreationInfoResult.xml
            _subShellAuthService
            .ProvisionApplicationAsync(
                new Uri("https://account.healthvault.com"),
                s_masterApplicationId,
                ApplicationCreationToken,
                ApplicationInstanceId)
            .Returns("1");

            HealthVaultSodaConnection healthVaultSodaConnection = CreateHealthVaultSodaConnection();
            await healthVaultSodaConnection.AuthenticateAsync();

            _subClientSessionCredentialClient.Received().AppSharedSecret = ApplicationSharedSecret;
            _subClientSessionCredentialClient.Received().Connection      = healthVaultSodaConnection;

            await _subLocalObjectStore.Received()
            .WriteAsync(
                HealthVaultSodaConnection.ServiceInstanceKey,
                Arg.Is <object>(o => ((HealthServiceInstance)o).HealthServiceUrl == new Uri("https://platform.healthvault-ppe.com/platform/wildcat.ashx")));

            await _subLocalObjectStore.Received()
            .WriteAsync(
                HealthVaultSodaConnection.ApplicationCreationInfoKey,
                Arg.Is <object>(o => ((ApplicationCreationInfo)o).AppInstanceId == new Guid("b5c5593b-afb4-466d-88f2-31707fb8634b")));

            await _subLocalObjectStore.Received()
            .WriteAsync(
                HealthVaultSodaConnection.SessionCredentialKey,
                Arg.Is <object>(o => ((SessionCredential)o).SharedSecret == SessionSharedSecret));

            await _subLocalObjectStore.Received()
            .WriteAsync(
                HealthVaultSodaConnection.PersonInfoKey,
                Arg.Is <object>(o => ((PersonInfo)o).Name == "David Rickard"));
        }