Пример #1
0
        public async Task EraseCommand_ExecuteAsync_CallsHostProvider()
        {
            const string testUserName  = "******";
            const string testPassword  = "******"; // [SuppressMessage("Microsoft.Security", "CS001:SecretInline", Justification="Fake credential")]
            var          stdin         = $"username={testUserName}\npassword={testPassword}\n\n";
            var          expectedInput = new InputArguments(new Dictionary <string, string>
            {
                ["username"] = testUserName,
                ["password"] = testPassword // [SuppressMessage("Microsoft.Security", "CS001:SecretInline", Justification="Fake credential")]
            });

            var providerMock = new Mock <IHostProvider>();

            providerMock.Setup(x => x.EraseCredentialAsync(It.IsAny <InputArguments>()))
            .Returns(Task.CompletedTask);
            var providerRegistry = new TestHostProviderRegistry {
                Provider = providerMock.Object
            };
            var context = new TestCommandContext
            {
                Streams = { In = stdin }
            };

            var command = new EraseCommand(context, providerRegistry);

            await command.ExecuteAsync();

            providerMock.Verify(
                x => x.EraseCredentialAsync(It.Is <InputArguments>(y => AreInputArgumentsEquivalent(expectedInput, y))),
                Times.Once);
        }
Пример #2
0
        public async Task EraseCommand_ExecuteAsync_CallsHostProvider()
        {
            const string testUserName  = "******";
            const string testPassword  = "******";
            var          stdin         = $"username={testUserName}\npassword={testPassword}\n\n";
            var          expectedInput = new InputArguments(new Dictionary <string, string>
            {
                ["username"] = testUserName,
                ["password"] = testPassword
            });

            var providerMock = new Mock <IHostProvider>();

            providerMock.Setup(x => x.EraseCredentialAsync(It.IsAny <InputArguments>()))
            .Returns(Task.CompletedTask);
            var providerRegistry = new TestHostProviderRegistry {
                Provider = providerMock.Object
            };
            var context = new TestCommandContext
            {
                Streams = { In = stdin }
            };

            string[] cmdArgs = { "erase" };
            var      command = new EraseCommand(providerRegistry);

            await command.ExecuteAsync(context, cmdArgs);

            providerMock.Verify(
                x => x.EraseCredentialAsync(It.Is <InputArguments>(y => AreInputArgumentsEquivalent(expectedInput, y))),
                Times.Once);
        }
Пример #3
0
        public void EraseCommand_CanExecuteAsync(string argString, bool expected)
        {
            var command = new EraseCommand(Mock.Of <IHostProviderRegistry>());

            bool result = command.CanExecute(argString?.Split(null));

            Assert.Equal(expected, result);
        }
Пример #4
0
        public void EraseCommand_EraseSecurityObjectAtLocation_ObjectGone()
        {
            _map[0, 0, 0].Put(new FakeSecurityObject {
                ObjectLayer = ObjectLayer.LowerObject
            });
            var command = new EraseCommand(_map, new XYZ(0, 0, 0));

            command.Go();

            Assert.AreEqual(_map[0, 0, 0].LowerObject.Type, "None");
        }
Пример #5
0
        public void EraseCommand_EraseSecurityObject_ValuableNotRemoved()
        {
            _map[0, 0, 0].Put(new FakeSecurityObject {
                Type = "Camera", ObjectLayer = ObjectLayer.LowerObject
            });
            _map[0, 0, 0].Put(new ValuableFacilityObject {
                Type = "Diamonds", ObjectLayer = ObjectLayer.Ground
            });
            var command = new EraseCommand(_map, new XYZ(0, 0, 0));

            command.Go();

            Assert.AreEqual(_map[0, 0, 0].Ground.Type, "Diamonds");
        }