Exemplo n.º 1
0
            public void ThrowsWhenEndTimeNull()
            {
                var createTestResultModel = new CreateTestResultModel {
                    StartTime = DateTime.UtcNow
                };

                var zigNetApiMapper = new ZigNetApiMapper();
                var testResult      = zigNetApiMapper.MapCreateTestResultModel(createTestResultModel);
            }
Exemplo n.º 2
0
 public void SaveTestResult(CreateTestResultModel createTestResultModel)
 {
     _httpRequestSender.SetHttpRequest(
         new HttpRequest
     {
         RequestType = "POST",
         Url         = _zigNetApiUrl + "api/TestResult",
         RequestBody = JsonConvert.SerializeObject(createTestResultModel)
     });
     _httpRequestSender.GetResponse();
 }
Exemplo n.º 3
0
        public TestResult MapCreateTestResultModel(CreateTestResultModel createTestResultModel)
        {
            if (!createTestResultModel.StartTime.HasValue)
            {
                throw new ArgumentNullException("StartTime", "Test start time must have a value");
            }
            if (!createTestResultModel.EndTime.HasValue)
            {
                throw new ArgumentNullException("EndTime", "Test end time must have a value");
            }


            var testResult = new TestResult
            {
                Test = new Test {
                    Name = createTestResultModel.TestName, Categories = new List <TestCategory>()
                },
                SuiteResult = new SuiteResult {
                    SuiteResultID = createTestResultModel.SuiteResultId
                },
                StartTime          = createTestResultModel.StartTime.Value,
                EndTime            = createTestResultModel.EndTime.Value,
                ResultType         = createTestResultModel.TestResultType,
                TestFailureDetails = new TestFailureDetails {
                    FailureType          = createTestResultModel.TestFailureType,
                    FailureDetailMessage = createTestResultModel.TestFailureDetails
                }
            };

            if (createTestResultModel.TestCategories != null)
            {
                foreach (var testCategoryName in createTestResultModel.TestCategories)
                {
                    testResult.Test.Categories.Add(new TestCategory {
                        Name = testCategoryName
                    });
                }
            }

            if (createTestResultModel.TestStepResults == null)
            {
                testResult.TestStepResults = new List <TestStepResult>();
            }
            else
            {
                testResult.TestStepResults = createTestResultModel.TestStepResults;
            }

            return(testResult);
        }
Exemplo n.º 4
0
            public void MapsEmptyModelExceptStartEndDateTime()
            {
                var startTime = DateTime.UtcNow;
                var endTime   = DateTime.UtcNow;

                var createTestResultModel = new CreateTestResultModel {
                    StartTime = startTime, EndTime = endTime
                };

                var zigNetApiMapper = new ZigNetApiMapper();
                var testResult      = zigNetApiMapper.MapCreateTestResultModel(createTestResultModel);

                Assert.IsNull(testResult.Test.Name);
                Assert.AreEqual(0, testResult.SuiteResult.SuiteResultID);
                Assert.AreEqual(0, testResult.Test.Categories.Count);
                Assert.AreEqual(startTime, testResult.StartTime);
                Assert.AreEqual(endTime, testResult.EndTime);
                Assert.AreEqual(TestResultType.Inconclusive, testResult.ResultType);
                Assert.AreEqual(TestFailureType.Exception, testResult.TestFailureDetails.FailureType);
                Assert.IsNull(testResult.TestFailureDetails.FailureDetailMessage);
                Assert.AreEqual(0, testResult.TestStepResults.Count);
            }
Exemplo n.º 5
0
        public void SaveTestResult(DateTime testStartTime)
        {
            var suiteResultId = int.Parse(_fileService.ReadStringFromFile(_suiteResultIdFilePath));

            var createTestResultModel = new CreateTestResultModel
            {
                SuiteResultId   = suiteResultId,
                StartTime       = testStartTime,
                EndTime         = DateTime.UtcNow,
                TestName        = _specFlowContext.GetScenarioTitle(),
                TestCategories  = _specFlowContext.GetScenarioAndFeatureTags(),
                TestStepResults = _testStepResults.ToArray()
            };

            var specFlowException = _specFlowContext.GetScenarioTestError();

            if (specFlowException == null)
            {
                createTestResultModel.TestResultType = TestResultType.Pass;
            }
            else
            {
                createTestResultModel.TestResultType = TestResultType.Fail;
                if (specFlowException.GetType().Name.Contains("Assert"))
                {
                    createTestResultModel.TestFailureType = TestFailureType.Assertion;
                }
                else
                {
                    createTestResultModel.TestFailureType = TestFailureType.Exception;
                }
                createTestResultModel.TestFailureDetails = string.Format("Message: {0}, Inner Exception: {1}, Stack Trace: {2}",
                                                                         specFlowException.Message, specFlowException.InnerException, specFlowException.StackTrace);
            }

            _zigNetApiHandler.SaveTestResult(createTestResultModel);
        }
Exemplo n.º 6
0
            public void MapsAllData()
            {
                var startTime = DateTime.UtcNow;
                var endTime   = DateTime.UtcNow;

                var createTestResultModel = new CreateTestResultModel
                {
                    TestName           = "test 1",
                    SuiteResultId      = 2,
                    TestCategories     = new string[] { "test category 1", "test category 2" },
                    StartTime          = startTime,
                    EndTime            = endTime,
                    TestResultType     = TestResultType.Pass,
                    TestFailureType    = TestFailureType.Exception,
                    TestFailureDetails = "failed because of exception at line 5",
                    TestStepResults    = new List <TestStepResult> {
                        new TestStepResult {
                            TestStepResultID = 3
                        }
                    }
                };

                var zigNetApiMapper = new ZigNetApiMapper();
                var testResult      = zigNetApiMapper.MapCreateTestResultModel(createTestResultModel);

                Assert.AreEqual("test 1", testResult.Test.Name);
                Assert.AreEqual(2, testResult.SuiteResult.SuiteResultID);
                Assert.AreEqual("test category 1", testResult.Test.Categories.ToList()[0].Name);
                Assert.AreEqual("test category 2", testResult.Test.Categories.ToList()[1].Name);
                Assert.AreEqual(startTime, testResult.StartTime);
                Assert.AreEqual(endTime, testResult.EndTime);
                Assert.AreEqual(TestResultType.Pass, testResult.ResultType);
                Assert.AreEqual(TestFailureType.Exception, testResult.TestFailureDetails.FailureType);
                Assert.AreEqual("failed because of exception at line 5", testResult.TestFailureDetails.FailureDetailMessage);
                Assert.AreEqual(3, testResult.TestStepResults.ToList()[0].TestStepResultID);
            }
Exemplo n.º 7
0
 public HttpResponseMessage Post([FromBody] CreateTestResultModel createTestResultModel)
 {
     _testResultBusinessProvider.Save(
         _zigNetApiMapper.MapCreateTestResultModel(createTestResultModel));
     return(Request.CreateResponse(HttpStatusCode.OK));
 }