public void Post_ExistingKB()
        {
            var knowledgeBaseService = new Mock <IKnowledgeBaseService>();

            var controller = new KnowledgeBaseController(knowledgeBaseService.Object);

            var result = controller.Post(GetKnowledgeBaseResource(ReasoningMocks.GetKnowledgeBase())).Result;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(ConflictResult));
        }
        public void Put_MissingKB()
        {
            var knowledgeBaseService = new Mock <IKnowledgeBaseService>();

            var controller = new KnowledgeBaseController(knowledgeBaseService.Object);

            var result = controller.Put("testId", GetKnowledgeBaseResource(ReasoningMocks.GetKnowledgeBase())).Result;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
        public void GetById_GetExistingKB()
        {
            var knowledgeBaseService = new Mock <IKnowledgeBaseService>();

            knowledgeBaseService.Setup(x => x.GetAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(GetKnowledgeBaseResource(ReasoningMocks.GetKnowledgeBase())));

            var controller = new KnowledgeBaseController(knowledgeBaseService.Object);

            var result = controller.Get("testId").Result as OkObjectResult;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.IsNotNull(result.Value);
            Assert.IsInstanceOfType(result.Value, typeof(KnowledgeBaseResource));
            Assert.IsNotNull(((KnowledgeBaseResource)result.Value).KnowledgeBase);
        }
        public void CreateTaskAsync_ExistingKB()
        {
            var kb             = ReasoningMocks.GetKnowledgeBase();
            var createResource = MockCreateResource();

            var knowledgeBaseRepository = new Mock <IKnowledgeBaseRepository>();

            knowledgeBaseRepository.Setup(x => x.GetAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(kb));
            var reasoningService = new ReasoningService();

            var service = MockReasoningTaskService(null, knowledgeBaseRepository.Object, reasoningService);

            var result = service.CreateTaskAsync(createResource).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(ReasoningTaskStatus.WAITING, result.Status);
        }
        public void Post_NewKB()
        {
            var knowledgeBaseResource = GetKnowledgeBaseResource(ReasoningMocks.GetKnowledgeBase());

            var knowledgeBaseService = new Mock <IKnowledgeBaseService>();

            knowledgeBaseService.Setup(x => x.CreateAsync(It.IsAny <IKnowledgeBase>()))
            .Returns(Task.FromResult(knowledgeBaseResource));

            var controller = new KnowledgeBaseController(knowledgeBaseService.Object);

            var result = controller.Post(knowledgeBaseResource).Result as CreatedResult;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(CreatedResult));
            Assert.IsNotNull(result.Value);
            Assert.IsInstanceOfType(result.Value, typeof(IKnowledgeBase));
        }