Exemple #1
0
        public async Task <Classification> UpdateClassification(string key, UpdateClassificationRequest request, string asUserKey = null, string bearerToken = null, bool logToConsole = true)
        {
            var updatedClassification = await Put <UpdateClassificationRequest, Classification>(request, $"classifications/{key}", asUserKey, bearerToken);

            if (logToConsole)
            {
                Console.WriteLine($"Updated Classification: {ToJson(updatedClassification)}\"");
            }
            ;
            return(updatedClassification);
        }
        public async Task <IActionResult> Update(string key, [FromBody] UpdateClassificationRequest request)
        {
            try
            {
                var updatedClassification = await _hiarcDatabase.UpdateClassification(key, request);

                return(Ok(updatedClassification));
            }
            catch (InvalidOperationException ex)
            {
                _logger.LogError(ex.Message);
                return(StatusCode(StatusCodes.Status403Forbidden));
            }
            catch (Exception ex)
            {
                return(BuildErrorResponse(ex, _logger));
            }
        }
Exemple #3
0
        public async void UpdateMetadata()
        {
            var md = TestMetadata;
            var c1 = await _hiarc.CreateClassification(md);

            var updatedMD = new Dictionary <string, object>
            {
                { "department", "support" },
                { "quotaCarrying", false },
                { "targetRate", 7.271 },
                { "level", 2 },
                { "startDate", DateTime.Parse("2020-02-25T22:33:50.134Z").ToUniversalTime() }
            };

            var request = new UpdateClassificationRequest
            {
                Metadata = updatedMD
            };

            var updatedClassification = await _hiarc.UpdateClassification(c1.Key, request);

            AssertMetadata(updatedMD, updatedClassification.Metadata);
        }
Exemple #4
0
        public async void NullOutMetadata()
        {
            var md = TestMetadata;
            var c1 = await _hiarc.CreateClassification(md);

            var updatedMD = new Dictionary <string, object>
            {
                { "department", null },
                { "quotaCarrying", null }
            };

            var request = new UpdateClassificationRequest
            {
                Metadata = updatedMD
            };

            var updatedClassification = await _hiarc.UpdateClassification(c1.Key, request);

            Assert.Equal(3, updatedClassification.Metadata.Keys.Count);

            updatedMD = new Dictionary <string, object>
            {
                { "targetRate", null },
                { "level", null },
                { "startDate", null }
            };

            request = new UpdateClassificationRequest
            {
                Metadata = updatedMD
            };

            updatedClassification = await _hiarc.UpdateClassification(c1.Key, request);

            Assert.Null(updatedClassification.Metadata);
        }
Exemple #5
0
        public async void ClassificationCRUD()
        {
            var c1 = await _hiarc.CreateClassification();

            var fetchedClassification = await _hiarc.GetClassification(c1.Key);

            Assert.Equal(c1, fetchedClassification, new EntityComparer());

            var newName        = "New Name";
            var newDescription = "New description";
            var updateRequest  = new UpdateClassificationRequest {
                Name = newName, Description = newDescription
            };
            var updatedClassification = await _hiarc.UpdateClassification(c1.Key, updateRequest);

            Assert.Equal(newName, updatedClassification.Name);
            Assert.Equal(newDescription, updatedClassification.Description);
            Assert.True(updatedClassification.ModifiedAt > updatedClassification.CreatedAt);

            updateRequest = new UpdateClassificationRequest {
                Key = "new key", Name = newName, Description = newDescription
            };
            await Assert.ThrowsAnyAsync <Exception>(async() => await _hiarc.UpdateClassification(c1.Key, updateRequest));
        }