Exemplo n.º 1
0
        public void GetTable_DatabaseServiceThrowsExceptions_ReturnsValidResults()
        {
            // Arrange
            string dbName    = "testDatabase";
            string tableName = "testTable";

            Dictionary <Exception, Type> resultsDictionary = new Dictionary <Exception, Type>
            {
                { new ArgumentException(), typeof(BadRequestResult) },
                { new DatabaseNotFoundException(), typeof(NotFoundResult) },
                { new DbServiceException(), typeof(InternalServerErrorResult) }
            };

            foreach (KeyValuePair <Exception, Type> result in resultsDictionary)
            {
                // Arrange - mock dbService
                this._dbServiceMock.Setup(s => s.GetTable(dbName, tableName))
                .Throws(result.Key);

                // Arrange - create target
                DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object);

                // Act
                IHttpActionResult actionResult = target.GetTable(dbName, tableName);

                // Assert
                Assert.IsInstanceOf(result.Value, actionResult);
            }
        }
Exemplo n.º 2
0
        public void GetTable_DatabaseServiceReturnsNull_ReturnsNotFoundResult()
        {
            // Arrange
            string dbName    = "testDatabase";
            string tableName = "testTable";

            // Arrange - mock dbService
            this._dbServiceMock.Setup(s => s.GetTable(dbName, tableName))
            .Returns((Table)null);

            // Arrange - create target
            DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object);

            // Act
            IHttpActionResult actionResult = target.GetTable(dbName, tableName);

            // Assert
            Assert.IsInstanceOf <NotFoundResult>(actionResult);
        }
Exemplo n.º 3
0
        public void GetTable_DatabaseServiceReturnsTable_ReturnsTableDto()
        {
            // Arrange
            string dbName = "testDatabase";
            Table  table  = new Table
            {
                Name       = "testTable",
                Attributes = { new Domain.Models.Attribute {
                                   Name = "firstAttribute", Type = "someType"
                               } },
                Rows = { { 0, new Row {
                               Id = 0, Value ={ "firstValue" }
                           } } }
            };

            TableDto tableDto = new TableDto {
                Name = table.Name, Attributes = table.Attributes, Rows = table.Rows.Values
            };

            // Arrange - mock dbService
            this._dbServiceMock.Setup(s => s.GetTable(dbName, table.Name))
            .Returns(table);

            // Arrange - create target
            DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object);

            // Act
            IHttpActionResult actionResult = target.GetTable(dbName, table.Name);
            OkNegotiatedContentResult <TableDto> contentResult = actionResult as OkNegotiatedContentResult <TableDto>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);

            Assert.AreEqual(tableDto.Name, contentResult.Content.Name);
            Assert.AreEqual(tableDto.Attributes, contentResult.Content.Attributes);
            Assert.AreEqual(tableDto.Rows, contentResult.Content.Rows);
        }