Beispiel #1
0
        public Guid CreateUser(bool isRegistered = true)
        {
            //setup the rest client
            var client = new RestClient
            {
                BaseUrl = new Uri($"{_configure.BaseUrl}/api/graphql")
            };

            //setup the request
            var request = new RestRequest
            {
                Method        = Method.POST,
                RequestFormat = DataFormat.Json
            };

            //get the authorization token and adds the token to the request
            var loginToken         = new LoginToken(_configure.BaseUrl, _configure.SuperUsername, _configure.SuperPassword);
            var authorizationToken = $"{loginToken.TokenType} {loginToken.AccessToken}";

            request.AddHeader("Authorization", authorizationToken);
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Accept", "*\\*");
            var query = QueryBuilder.CreateEntityQueryBuilder(new List <BaseEntity> {
                this
            });

            request.AddParameter("text/json", query, ParameterType.RequestBody);
            var response = client.Execute(request);

            //valid ids returned and a valid response
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            if (isRegistered)
            {
                // we will confirm their email, they are registered
                var configure = new StartupTestFixture();
                using (var context = new LactalisDBContext(configure.DbContextOptions, null, null))
                {
                    context.Users.FirstOrDefault(x => x.UserName == EmailAddress).EmailConfirmed = true;
                    context.SaveChanges();
                }
            }
            return(Id);
        }
Beispiel #2
0
        internal Guid SaveToDB <T>(T model) where T : class, Lactalis.Models.IOwnerAbstractModel
        {
            var configure = new StartupTestFixture();
            var context   = new LactalisDBContext(configure.DbContextOptions, null, null);

            model.Owner = configure.SuperOwnerId;
            var dbSet = context.GetDbSet <T>(typeof(T).Name);

            dbSet.Update(model);
            var addedEntry = context
                             .ChangeTracker
                             .Entries()
                             .First(entry => model.Equals(entry.Entity));

            addedEntry.State = EntityState.Added;
            context.SaveChanges();
            context.Dispose();
            return(model.Id);
        }
Beispiel #3
0
        public static void CreateEntities(List <BaseEntity> entityList)
        {
            var configure = new StartupTestFixture();

            //setup the rest client
            var client = new RestClient
            {
                BaseUrl = new Uri($"{configure.BaseUrl}/api/graphql")
            };

            //setup the request
            var request = new RestRequest
            {
                Method        = Method.POST,
                RequestFormat = DataFormat.Json
            };

            //get the authorization token and adds the token to the request
            var loginToken         = new LoginToken(configure.BaseUrl, configure.SuperUsername, configure.SuperPassword);
            var authorizationToken = $"{loginToken.TokenType} {loginToken.AccessToken}";

            request.AddHeader("Authorization", authorizationToken);

            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Accept", "*\\*");

            var query = QueryBuilder.CreateEntityQueryBuilder(entityList);

            request.AddParameter("text/json", query, ParameterType.RequestBody);

            // execute the request
            var response = client.Execute(request);

            //valid ids returned and a valid response
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
Beispiel #4
0
        public static (RestClient client, string xsrfToken) GetValidClientAndxsrfTokenPair(StartupTestFixture _configure)
        {
            //make a new client
            var client = new RestClient {
                BaseUrl = new Uri(_configure.BaseUrl + "/api/authorization/login")
            };

            // setup a cookie container to store cookiers for later
            client.CookieContainer = new System.Net.CookieContainer();

            //setup the request
            var request = new RestRequest {
                Method = Method.POST, RequestFormat = DataFormat.Json
            };

            // add header to say what type the content is
            request.AddHeader("Content-Type", "application/json");

            // add valid username and password to the request body
            request.AddJsonBody(new { username = _configure.SuperUsername, password = _configure.SuperPassword });

            // execute the request
            var response = client.Execute(request);

            // check that the response is ok
            if (response.StatusCode != HttpStatusCode.OK)
            {
                var invalidResponse = JObject.Parse(response.Content);
                throw new Exception(invalidResponse["error_description"].ToString());
            }

            // get the returned xsrf token
            var xsrfToken = response.Cookies.FirstOrDefault(cookie => cookie.Name == "XSRF-TOKEN")?.Value;

            // return the client containing cookies and token
            return(client, xsrfToken);
        }
 public HealthCheckEndpointDisabledMiddlewareTests(StartupTestFixture <DisabledHealthCheckTestStartup> fixture)
 {
     Client = fixture.Client;
 }
Beispiel #6
0
 public PingEndpointDisabledMiddlewareTests(StartupTestFixture <PingDisabledTestStartup> fixture)
 {
     Client = fixture.Client;
 }
Beispiel #7
0
 public HealthCheckEndpointMiddlewareTests(StartupTestFixture <HealthyHealthTestStartup> fixture)
 {
     Client = fixture.Client;
 }
 public HealthCheckCustomEndpointMiddlewareTests(StartupTestFixture <CustomHealthCheckTestStartup> fixture)
 {
     Client = fixture.Client;
 }
 public PingEndpointMiddlewareTests(StartupTestFixture <PingTestStartup> fixture)
 {
     Client = fixture.Client;
 }