Exemple #1
0
        public BotsControllerTests()
        {
            var mapper = A.Fake <IMapper>();

            _mediator = A.Fake <IMediator>();
            _testee   = new BotsController(mapper, _mediator);

            _createBotModel = new CreateBotModel
            {
                IP       = "155.223.25.67",
                Platform = "Linux",
                Status   = "Waiting",
                BotnetId = 1
            };
            _updateBotModel = new UpdateBotModel
            {
                Id       = _id,
                IP       = "155.223.25.67",
                Platform = "Linux",
                Status   = "Waiting",
                BotnetId = 1
            };
            var bot = new Bot
            {
                Id       = _id,
                IP       = "155.223.25.67",
                Platform = "Linux",
                Status   = "Waiting",
                BotnetId = 1
            };

            A.CallTo(() => mapper.Map <Bot>(A <Bot> ._)).Returns(bot);
            A.CallTo(() => _mediator.Send(A <CreateBotCommand> ._, default)).Returns(bot);
            A.CallTo(() => _mediator.Send(A <UpdateBotCommand> ._, default)).Returns(bot);
        }
Exemple #2
0
 private void Awake()
 {
     _controllersGameObject = new GameObject()
     {
         name = "Controllers"
     };
     _inputController  = _controllersGameObject.AddComponent <InputController>();
     _playerController = _controllersGameObject.AddComponent <PlayerController>();
     _botsController   = _controllersGameObject.AddComponent <BotsController>();
 }
        public void GetBot_NonExistingBotId_ShouldReturnNotFound()
        {
            var botServiceMock = new Mock <IBotsService>();

            botServiceMock.Setup(p => p.GetBot("1000")).Returns((BotDto)null);

            var controller = new BotsController(botServiceMock.Object);
            var result     = controller.GetBot("1000");

            Assert.IsAssignableFrom <NotFoundResult>(result);
        }
        public void RegisterBot_ExistingId_ShouldReturnBadRequest()
        {
            var botServiceMock = new Mock <IBotsService>();
            var registerBotDto = new RegisterBotDto
            {
                Id   = "1000",
                Name = "Bot1"
            };

            botServiceMock.Setup(p => p.IsBotRegistered("1000")).Returns(true);

            var controller = new BotsController(botServiceMock.Object);
            var result     = controller.RegisterBot(registerBotDto);

            Assert.IsAssignableFrom <BadRequestResult>(result);
        }
Exemple #5
0
        public async Task Delete_Bot_With_Zero_Bot_Id_Should_Return_Bad_Request()
        {
            // Arrange
            var fakeBotId = 0;

            _botRepositoryMock.Setup(x => x.DeleteBotAsync(It.IsAny <int>()));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = await botController.DeleteBotAsync(fakeBotId) as BadRequestResult;

            Assert.NotNull(actionResult);
        }
        public void RegisterBot_NonExistingId_ShouldReturnNoContent()
        {
            var botServiceMock = new Mock <IBotsService>();
            var registerBotDto = new RegisterBotDto
            {
                Id   = "1000",
                Name = "Bot1"
            };

            botServiceMock.Setup(p => p.IsBotRegistered("1000")).Returns(false);
            botServiceMock.Setup(p => p.RegisterBot(registerBotDto)).Returns(RegisterResult.Success);

            var controller = new BotsController(botServiceMock.Object);
            var result     = controller.RegisterBot(registerBotDto);

            Assert.IsAssignableFrom <NoContentResult>(result);
        }
        public void GetBot_ExistingBotId_ShouldReturnValidBotData()
        {
            var botServiceMock = new Mock <IBotsService>();
            var timeProvider   = TimeProviderFactory.Create();

            botServiceMock.Setup(p => p.GetBot("1000")).Returns(new BotDto
            {
                Id         = "1000",
                Name       = "Bot1",
                CreateTime = timeProvider.Get()
            });

            var controller = new BotsController(botServiceMock.Object);
            var jsonResult = controller.GetBot("1000") as JsonResult;

            Assert.IsAssignableFrom <BotDto>(jsonResult.Value);
        }
Exemple #8
0
        public async Task Create_Bot_With_Null_Bot_Should_Return_Bad_Request()
        {
            // Arrange
            Bot fakeBot = null;

            _botRepositoryMock.Setup(x => x.CreateBotAsync(It.IsAny <Bot>()));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = await botController.CreateBotAsync(fakeBot) as BadRequestResult;

            // Assert
            Assert.NotNull(actionResult);
        }
Exemple #9
0
        public async Task Get_User_With_Zero_Id_Should_Return_Bad_Request()
        {
            // Arrange
            var fakeBotId = 0;

            _botRepositoryMock.Setup(x => x.GetBotAsync(It.IsAny <int>()));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = (await botController.BotByIdAsync(fakeBotId)).Result as BadRequestResult;

            // Assert
            Assert.NotNull(actionResult);
        }
Exemple #10
0
        public async Task Delete_Nonexistent_Bot()
        {
            // Arrange
            var fakeBotId = 2;

            _botRepositoryMock.Setup(x => x.DeleteBotAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(false));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = await botController.DeleteBotAsync(fakeBotId) as NotFoundResult;

            // Assert
            Assert.NotNull(actionResult);
        }
        public void GetAllBots_ExistingBots_ShouldReturnListOfBots()
        {
            var botServiceMock = new Mock <IBotsService>();

            botServiceMock.Setup(p => p.GetAllBots()).Returns(new List <BotDto>
            {
                new BotDto {
                    Id = "1000", Name = "Bot1"
                },
                new BotDto {
                    Id = "1001", Name = "Bot2"
                }
            });

            var controller = new BotsController(botServiceMock.Object);
            var jsonResult = controller.GetAllBots() as JsonResult;

            Assert.IsAssignableFrom <List <BotDto> >(jsonResult.Value);
        }
Exemple #12
0
        public async Task Create_Bot_Success()
        {
            // Arrange
            var fakeBotId = 1;
            var fakeToken = "token";
            var fakeName  = "name";
            var fakeBot   = GetBotFake(fakeBotId, fakeToken, fakeName);

            _botRepositoryMock.Setup(x => x.CreateBotAsync(It.IsAny <Bot>()));
            _botRepositoryMock.Setup(x => x.GetBotByTokenAsync(It.IsAny <string>()))
            .Returns(Task.FromResult((Bot)null));
            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = await botController.CreateBotAsync(fakeBot) as OkResult;

            Assert.AreEqual(actionResult.StatusCode, (int)System.Net.HttpStatusCode.OK);
        }
Exemple #13
0
        public async Task Create_Existing_Bot_Should_Return_Conflict()
        {
            // Arrange
            var fakeBotId    = 1;
            var fakeBotName  = "name";
            var fakeBotToken = "token";
            var fakeBot      = GetBotFake(fakeBotId, fakeBotToken, fakeBotName);

            _botRepositoryMock.Setup(x => x.GetBotByTokenAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(fakeBot));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = await botController.CreateBotAsync(fakeBot) as ConflictResult;

            // Arrange
            Assert.NotNull(actionResult);
        }
Exemple #14
0
        public async Task Get_Bot_Success()
        {
            // Arrange
            var fakeBotId = 1;
            var fakeToken = "token";
            var fakeName  = "name";
            var fakeBot   = GetBotFake(fakeBotId, fakeToken, fakeName);

            _botRepositoryMock.Setup(x => x.GetBotAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(fakeBot));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            var actionResult = await botController.BotByIdAsync(fakeBotId);

            // Assert
            Assert.AreEqual((actionResult.Result as OkObjectResult).StatusCode, (int)System.Net.HttpStatusCode.OK);
            Assert.AreEqual((((ObjectResult)actionResult.Result).Value as Bot).Id, fakeBot.Id);
        }
Exemple #15
0
        public async Task Delete_Bot_Success()
        {
            // Arrange
            var fakeBotId = 1;
            var fakeToken = "token";
            var fakeName  = "name";
            var fakeBot   = GetBotFake(fakeBotId, fakeToken, fakeName);

            _botRepositoryMock.Setup(x => x.DeleteBotAsync(It.IsAny <int>()))
            .Returns(Task.FromResult(true));

            // Act
            var botController = new BotsController(
                _botRepositoryMock.Object,
                _botEventServiceMock.Object
                );

            await botController.CreateBotAsync(fakeBot);

            var actionResult = await botController.DeleteBotAsync(fakeBotId) as NoContentResult;

            // Assert
            Assert.NotNull(actionResult);
        }