public void TestSmokeGetAllAfterUpdateTimeSeries()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            var updatedTimeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .UpdateTimeSeriesRequestIsSend()
            .GetAllTimeSeriesRequestIsSend()
            .Then
            .TimeSeriesIsPresentInUserTimeSeries(updatedTimeSeries);
        }
Beispiel #2
0
        public void TestSmokeGetAfterUpdateTimeSeriesMetadata()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            var updatedTimeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .UpdateGivenUpdateTimeSeriesIdsFromModel(timeSeries)
            .UpdateTimeSeriesRequestIsSend()
            .GetTimeSeriesMetadataByIdRequestIsSend(timeSeries.Id)
            .Then
            .TimeSeriesByIdIsEqualTo(updatedTimeSeries);
        }
Beispiel #3
0
        public void TestUpdateRemovedTimeSeriesMetadataById()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            var updatedTimeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .UpdateGivenUpdateTimeSeriesIdsFromModel(timeSeries)
            .UpdateTimeSeriesRequestIsSend()
            .RemoveTimeSeriesRequestIsSend(timeSeries.Id)
            .WithSuccess()
            .UpdateTimeSeriesRequestIsSend()
            .Then
            .ResponseHasCode(HttpStatusCode.NotFound);
        }
 public static GivenStatement NewTimeSeries(this GivenStatement givenStatement,
                                            TestTimeSeriesMetadataModel timeSeries, string testKey = null)
 {
     givenStatement.GetStatementLogger()
     .Information($"[{{ContextStatement}}] Saving time-series to create {timeSeries}",
                  givenStatement.GetType().Name);
     givenStatement.AddData(timeSeries, BddKeyConstants.TimeSeriesToCreate + testKey);
     return(givenStatement);
 }
Beispiel #5
0
        public bool Equals(TestTimeSeriesMetadataModel obj)
        {
            if (obj == null)
            {
                return(false);
            }

            return(Equals(obj.Description, Description) &&
                   Equals(obj.Name, Name));
        }
Beispiel #6
0
        public void TestNegativeCreateNewTimeSeriesName(string name)
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Name = name,
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .Then
            .ResponseHasCode(HttpStatusCode.BadRequest);
        }
Beispiel #7
0
        public void TestCreateNewTimeSeriesName(string name)
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Name = name,
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .Then
            .CreatedTimeSeriesIsEqualToExpected();
        }
Beispiel #8
0
        public void TestCreateNewTimeSeriesSessionToken(string sessionToken)
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Name = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(sessionToken)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .Then
            .ResponseHasCode(HttpStatusCode.Unauthorized);
        }
Beispiel #9
0
        public void TestUpdateTimeSeriesMetadataByIdSessionToken(string sessionToken)
        {
            var updatedTimeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(sessionToken)
            .When
            .UpdateTimeSeriesRequestIsSend()
            .Then
            .ResponseHasCode(HttpStatusCode.Unauthorized);
        }
Beispiel #10
0
        public void TestCreateNewTimeSeriesDateModified(string date)
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Name         = TestStringHelper.RandomLatinString(),
                DateModified = date,
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .Then
            .CreatedTimeSeriesIsEqualToExpected();
        }
Beispiel #11
0
        public void TestSmokeCreateNewTimeSeries()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .Then
            .CreatedTimeSeriesIsEqualToExpected();
        }
        public void TestSmokeUploadTimeSeriesData()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .UploadTimeSeriesDataRequestIsSend("2021-01-10 11:14,1\n2021-01-10 11:16,3")
            .Then
            .LastRequestSuccessful();
        }
Beispiel #13
0
        public void TestSmokeRemoveTimeSeriesMetadataById()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .RemoveTimeSeriesRequestIsSend(timeSeries.Id)
            .GetAllTimeSeriesRequestIsSend()
            .Then
            .TimeSeriesIsNotPresentInUserTimeSeries(timeSeries);
        }
Beispiel #14
0
        public HttpResponseMessage PostCreateTimeSeries(string tokenValue, TestTimeSeriesMetadataModel model)
        {
            using (HttpClient client = HttpClientFactory.Create())
            {
                client.DefaultRequestHeaders
                .Accept
                .Add(new MediaTypeWithQualityHeaderValue(CommonHttpConstants.ApplicationJsonMedia));

                if (tokenValue != null)
                {
                    client.DefaultRequestHeaders.Authorization =
                        new AuthenticationHeaderValue(CommonHttpConstants.AuthorizationHeader, tokenValue);
                }

                return(client.LogAndPost($"{BaseApiRoute}",
                                         new StringContent(model.ToString(), Encoding.UTF8, CommonHttpConstants.ApplicationJsonMedia),
                                         Logger));
            }
        }
Beispiel #15
0
        public static ThenStatement TimeSeriesIsNotPresentInUserTimeSeries(this ThenStatement thenStatement,
                                                                           TestTimeSeriesMetadataModel expected,
                                                                           string testKey = null)
        {
            List <TestTimeSeriesMetadataModel> actual = null;

            try
            {
                actual =
                    thenStatement.GetResultData <List <TestTimeSeriesMetadataModel> >(
                        BddKeyConstants.UserTimeSeries + testKey);
            }
            catch (KeyNotFoundException e)
            {
                Assert.Fail("Was unable to get user time-series due to request failure.");
            }

            Assert.That(!actual.Any(model => Equals(model, expected)), $"Expected {expected} to be removed from user time-series");

            return(thenStatement);
        }
Beispiel #16
0
        public static ThenStatement TimeSeriesIsPresentInUserTimeSeries(this ThenStatement thenStatement,
                                                                        TestTimeSeriesMetadataModel expected,
                                                                        string testKey = null)
        {
            List <TestTimeSeriesMetadataModel> actual = null;

            try
            {
                actual =
                    thenStatement.GetResultData <List <TestTimeSeriesMetadataModel> >(
                        BddKeyConstants.UserTimeSeries + testKey);
            }
            catch (KeyNotFoundException e)
            {
                Assert.Fail("Was unable to get user time-series due to request failure.");
            }

            Assert.Contains(expected, actual);

            return(thenStatement);
        }
Beispiel #17
0
        public static ThenStatement TimeSeriesByIdIsEqualTo(this ThenStatement thenStatement,
                                                            TestTimeSeriesMetadataModel expected,
                                                            string testKey = null)
        {
            TestTimeSeriesMetadataModel actual = null;

            try
            {
                actual =
                    thenStatement.GetResultData <TestTimeSeriesMetadataModel>(
                        BddKeyConstants.UserTimeSeriesById + testKey);
            }
            catch (KeyNotFoundException e)
            {
                Assert.Fail("Was unable to get user time-series due to request failure.");
            }

            Assert.That(actual, Is.EqualTo(expected));

            return(thenStatement);
        }
Beispiel #18
0
        public static ThenStatement CreatedTimeSeriesIsEqualToExpected(this ThenStatement thenStatement,
                                                                       string testKey = null)
        {
            var expected =
                thenStatement.GetGivenData <TestTimeSeriesMetadataModel>(BddKeyConstants.TimeSeriesToCreate + testKey);

            TestTimeSeriesMetadataModel actual = null;

            try
            {
                actual =
                    thenStatement.GetResultData <TestTimeSeriesMetadataModel>(
                        BddKeyConstants.CreatedTimeSeries + testKey);
            }
            catch (KeyNotFoundException e)
            {
                Assert.Fail("Was unable to get created time-series due to request failure.");
            }

            var currentUser =
                _profileApiFacade.GetMe(thenStatement.GetGivenData <string>(BddKeyConstants.SessionTokenKey + testKey))
                .Map <TestUserModel>();

            Assert.That(actual, Is.EqualTo(expected));
            Assert.That(actual.DateCreated, Is.Not.Empty);
            Assert.That(actual.InfluxId, Is.Not.Empty);
            Assert.That(actual.UserId, Is.EqualTo(currentUser.Id));

            try
            {
                var creationTime = DateTimeOffset.Parse(actual.DateCreated);
                Assert.That(DateTimeOffset.UtcNow - creationTime, Is.LessThan(TimeSpan.FromHours(1)));
            }
            catch
            {
                Assert.Fail($"Could not parse createdDate {actual.DateCreated}");
            }

            return(thenStatement);
        }
Beispiel #19
0
        public void TestDoubleUpdateTimeSeriesMetadataById()
        {
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            var updatedTimeSeries = new TestTimeSeriesMetadataModel
            {
                Description = TestStringHelper.RandomLatinString(),
                Name        = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(Session)
            .When
            .UpdateTimeSeriesRequestIsSend()
            .UpdateGivenUpdateTimeSeriesIdsFromModel(timeSeries)
            .UpdateTimeSeriesRequestIsSend()
            .GetAllTimeSeriesRequestIsSend()
            .Then
            .TimeSeriesIsPresentInUserTimeSeries(updatedTimeSeries);

            updatedTimeSeries.Name        = TestStringHelper.RandomLatinString();
            updatedTimeSeries.Description = TestStringHelper.RandomLatinString();

            Given
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(Session)
            .When
            .UpdateTimeSeriesRequestIsSend()
            .GetAllTimeSeriesRequestIsSend()
            .Then
            .TimeSeriesIsPresentInUserTimeSeries(updatedTimeSeries);
        }
Beispiel #20
0
        public void TestUpdateTimeSeriesNameWithoutUpdate(string name)
        {
            var updatedTimeSeries = new TestTimeSeriesMetadataModel
            {
                Name = name,
            };
            var timeSeries = new TestTimeSeriesMetadataModel
            {
                Name = TestStringHelper.RandomLatinString(),
            };

            Given
            .NewTimeSeries(timeSeries)
            .UpdateTimeSeries(updatedTimeSeries)
            .UserSession(Session)
            .When
            .CreateNewTimeSeriesRequestIsSend()
            .UpdateGivenUpdateTimeSeriesIdsFromModel(timeSeries)
            .UpdateTimeSeriesRequestIsSend()
            .GetTimeSeriesMetadataByIdRequestIsSend(timeSeries.Id)
            .Then
            .TimeSeriesByIdIsEqualTo(timeSeries);
        }
Beispiel #21
0
        public static WhenStatement UpdateGivenUpdateTimeSeriesIdsFromModel(this WhenStatement whenStatement, TestTimeSeriesMetadataModel model,
                                                                            string testKey = null)
        {
            whenStatement.GetStatementLogger()
            .Information("[{ContextStatement}] Updating time-series update params Ids", whenStatement.GetType().Name);

            var session    = whenStatement.GetSessionFromData(testKey);
            var timeSeries =
                whenStatement.GetGivenData <TestTimeSeriesMetadataModel>(BddKeyConstants.TimeSeriesToUpdate + testKey);

            timeSeries.Id       = model.Id;
            timeSeries.InfluxId = model.InfluxId;
            timeSeries.UserId   = model.UserId;

            return(whenStatement);
        }