public async Task <GuidDataModel> Add(GuidAPIModel inputModel) { GuidDataModel guidModel = inputModel.ToDataModel(); if (!IsModelValid(guidModel)) { throw new InvalidRequestParameter(Constants.INVALID_MODEL); } //check if guid already exists var item = await _context.GuidList.FindAsync(guidModel.Guid); if (item != null) { throw new RecordAlreadyExists(Constants.GUID_ALREADY_EXISTS); } else { guidModel.Expire = guidModel.Expire; _context.GuidList.Add(guidModel); await _context.SaveChangesAsync(); } return(guidModel); }
public async Task Put_ValidRequest_GuidPresent() { Guid newGuid = new Guid("6F729C08-A503-4C16-9262-46AAEF1F2CA2"); _dbContext.GuidList.Add(new GuidDataModel { Guid = new Guid("6F729C08-A503-4C16-9262-46AAEF1F2CA2"), Expire = 100, User = "******" }); _dbContext.SaveChanges(); GuidAPIModel guidModel = new GuidAPIModel() { Expire = 185823, User = "******" }; _dbContext.Add(guidModel.ToDataModel()); _dbContext.SaveChanges(); var result = await _guidController.PutGuid(newGuid, guidModel); Assert.IsType <GuidAPIModel>(result.Value); Assert.Equal(newGuid, (result.Value as GuidAPIModel).Guid); Assert.Equal("Updated text from PUT", (result.Value as GuidAPIModel).User); Assert.Equal(185823, (result.Value as GuidAPIModel).Expire); }
public async Task <GuidDataModel> Update(Guid guid, GuidAPIModel updatedModel) { if (updatedModel.Guid.HasValue) { throw new InvalidRequestParameter(Constants.GUID_NOT_UPDATABLE); } GuidDataModel originalGuid = await _context.GuidList.FindAsync(guid); if (originalGuid == null) { throw new RecordNotFound(Constants.GUID_NOT_FOUND); } if (updatedModel.Expire.HasValue) { originalGuid.Expire = updatedModel.Expire.Value; } if (updatedModel.User != null) { originalGuid.User = updatedModel.User; } await _context.SaveChangesAsync(); if (_cache.Get <GuidDataModel>(guid) != null) { _cache.Delete(guid); } _cache.Add <GuidDataModel>(guid, originalGuid); return(originalGuid); }
public async Task Put_RecordNotFound() { GuidAPIModel guidModel = new GuidAPIModel(); Guid newGuid = Guid.NewGuid(); await Assert.ThrowsAsync <RecordNotFound>(async() => await _guidController.PutGuid(newGuid, guidModel)); }
public async Task <ActionResult <GuidAPIModel> > PutGuid(Guid guid, GuidAPIModel inputModel) { // try { var guidModel = await _manager.Update(guid, inputModel); return(guidModel.ToAPIModel()); } }
public async Task Put_InvalidRequest() { GuidAPIModel guidModel = new GuidAPIModel(); Guid newGuid = Guid.NewGuid(); guidModel.Guid = newGuid; await Assert.ThrowsAsync <InvalidRequestParameter>(async() => await _guidController.PutGuid(newGuid, guidModel)); }
public async Task Post_ValidRequest_GuidAndExpireAbsent() { GuidAPIModel guidModel = new GuidAPIModel() { User = "******" }; var result = await _guidController.PostGuid(guidModel); Assert.IsType <GuidAPIModel>(result.Value); Assert.NotEqual(Guid.Empty, (result.Value as GuidAPIModel).Guid); Assert.Equal("New text from Post method - 3", (result.Value as GuidAPIModel).User); Assert.NotEqual(0, (result.Value as GuidAPIModel).Expire); }
public async Task Post_Invalid_GuidAlreadyPresent() { GuidAPIModel guidModel = new GuidAPIModel() { Guid = new Guid("6F729C08-A503-4C16-9262-46AAEF1F2CFF"), Expire = 185823, User = "******" }; _dbContext.Add(guidModel.ToDataModel()); _dbContext.SaveChanges(); await Assert.ThrowsAsync <RecordAlreadyExists>(async() => await _guidController.PostGuid(guidModel)); }
public async Task Post_ValidRequest_GuidPresent() { GuidAPIModel guidModel = new GuidAPIModel() { Guid = new Guid("FCC19AA2-42B5-4195-85BC-FC0A923D6125"), Expire = 155849, User = "******" }; var result = await _guidController.PostGuid(guidModel); Assert.IsType <GuidAPIModel>(result.Value); Assert.Equal(new Guid("FCC19AA2-42B5-4195-85BC-FC0A923D6125"), (result.Value as GuidAPIModel).Guid); Assert.Equal("New text from Post method", (result.Value as GuidAPIModel).User); Assert.Equal(155849, (result.Value as GuidAPIModel).Expire); }
public async Task <ActionResult <GuidAPIModel> > PostGuid(GuidAPIModel inputModel) { GuidDataModel guidModel = await _manager.Add(inputModel); return(guidModel.ToAPIModel()); }