public void SecretValueEmptyOnConstruction()
        {
            var mockList   = new SecretsListBuilder().Build();
            var objectList = mockList.Select(x => x.Object).ToList();

            var sut = new EnumerateSecretShare("TargetKey", objectList);

            Assert.Empty(sut.SecretValue);
        }
        public void SuccessfulFalseOnConstruction()
        {
            var mockList   = new SecretsListBuilder().Build();
            var objectList = mockList.Select(x => x.Object).ToList();

            var sut = new EnumerateSecretShare("TargetKey", objectList);

            Assert.False(sut.Successful);
        }
        public void ExceptionDuringSecretList()
        {
            var mockList = new SecretsListBuilder()
                           .AddException()
                           .Build();
            var objectList = mockList.Select(x => x.Object).ToList();

            var sut = new EnumerateSecretShare("TargetKey", objectList);

            sut.Exploit();

            Assert.False(sut.Successful);
            Assert.Empty(sut.SecretValue);
        }
        public void FailedExploit()
        {
            var mockList = new SecretsListBuilder()
                           .AddInvalid()
                           .Build();
            var objectList = mockList.Select(x => x.Object).ToList();

            var sut = new EnumerateSecretShare("TargetKey", objectList);

            sut.Exploit();
            mockList.ForEach(x => x.VerifyAll());
            Assert.False(sut.Successful);
            Assert.Empty(sut.SecretValue);
        }
        public void SuccessfulExploit()
        {
            var mockList = new SecretsListBuilder()
                           .AddValid()
                           .Build();
            var objectList = mockList.Select(x => x.Object).ToList();

            var sut = new EnumerateSecretShare("TargetKey", objectList);

            sut.Exploit();
            mockList.ForEach(x => x.VerifyAll());
            Assert.True(sut.Successful);
            Assert.Equal("Secret1234", sut.SecretValue);
        }
Esempio n. 6
0
        private IExploitRunner GetEnumerateSecretShare(int id, int seed, int threads)
        {
            var sharedHttpClient = _serviceProvider.GetRequiredService <IHttpClientProxy>();

            var sharesList = new List <ISecretsList>();

            for (int i = 0; i < threads; i++)
            {
                sharesList.Add(new SecretShare(sharedHttpClient, seed + i));
            }

            var exploit = new EnumerateSecretShare(_targetKey, sharesList);

            return(new ExploitRunner(id, exploit));
        }