示例#1
0
        public async Task <ActionResult <Gateways> > Post(GatewaysModel itemModel)
        {
            try
            {
                if (itemModel == null)
                {
                    return(BadRequest("Gateways object is null"));
                }

                if (!ModelState.IsValid)
                {
                    return(BadRequest("Invalid model object"));
                }

                var item = _mapper.Map <Gateways>(itemModel);

                await _repository.AddGatewaysAsync(item);

                return(CreatedAtAction(nameof(Get),
                                       new { id = item.Id }, item));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Internal server error: {ex.Message}"));
            }
        }
示例#2
0
        public async Task <ActionResult <Gateways> > Put(GatewaysModel itemModel, int id)
        {
            try
            {
                if (itemModel == null)
                {
                    return(BadRequest("Gateways object is null"));
                }

                var dbItem = await _repository.GetGatewaysAsync(id);

                if (dbItem == null)
                {
                    return(NotFound());
                }

                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var item = _mapper.Map <Gateways>(itemModel);

                await _repository.UpdateGatewaysAsync(dbItem, item);

                return(CreatedAtAction(nameof(Get),
                                       new { id = item.Id }, item));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Internal server error: {ex.Message}"));
            }
        }
示例#3
0
        public async Task PutNOK()
        {
            var model = new GatewaysModel
            {
            };

            var smodel = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");

            // Act
            var response = await this.Fixture.Client.PutAsync("/api/Gateways/1", smodel);

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
示例#4
0
        public async Task PostNOK()
        {
            var model = new GatewaysModel
            {
                FirmwareVersion = "v." + RandomInt(1, 99).ToString(),
                State           = RandomString(4)
            };

            var smodel = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");

            // Act
            var response = await this.Fixture.Client.PostAsync("/api/Gateways", smodel);

            // Assert
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
示例#5
0
        public async Task Post()
        {
            GatewaysModel model = CreateModel();

            var smodel = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");

            // Act
            var response = await this.Fixture.Client.PostAsync("/api/Gateways", smodel);

            response.EnsureSuccessStatusCode();

            // Assert
            var content = await response.Content.ReadAsStringAsync();

            Assert.False(string.IsNullOrWhiteSpace(content));

            var newModel = JsonConvert.DeserializeObject <GatewaysModel>(content);

            Assert.True(newModel.Id > 0);
        }