public void Should_persist_the_lea_mapping_without_explicitly_adding_that_mapping_to_the_databaseContext()
            {
                using (var context = new SqlServerUsersContext(ConnectionString))
                {
                    //Arrange
                    var lea = new ApplicationEducationOrganization {
                        EducationOrganizationId = leaId
                    };

                    var client = new ApiClient(true)
                    {
                        Name = clientName
                    };

                    client.ApplicationEducationOrganizations.Add(lea);

                    //Act
                    context.Clients.Add(client);
                    context.SaveChangesForTest();

                    //Assert
                    var clientFromDb = context.Clients.Where(x => x.Name == clientName)
                                       .Include(x => x.ApplicationEducationOrganizations)
                                       .Single();

                    int[] leas = clientFromDb.ApplicationEducationOrganizations.Select(x => x.EducationOrganizationId)
                                 .ToArray();

                    leas.ShouldBe(
                        new[] { leaId });
                }
            }
            public void Should_persist_the_lea_mapping_without_explicitly_adding_that_mapping_to_the_databaseContext()
            {
                using (var context = new SqlServerUsersContext(ConnectionString))
                {
                    //Arrange
                    var lea = new ApplicationEducationOrganization {
                        EducationOrganizationId = leaId
                    };

                    var application = new Application {
                        ApplicationName = appName
                    };

                    application.ApplicationEducationOrganizations.Add(lea);

                    application.OperationalContextUri = "uri://ed-fi-api-host.org";

                    //Act
                    context.Applications.Add(application);
                    context.SaveChangesForTest();

                    //Assert
                    var applicationFromDb = context.Applications.Where(x => x.ApplicationName == appName)
                                            .Include(x => x.ApplicationEducationOrganizations)
                                            .Single();

                    int[] leas = applicationFromDb.ApplicationEducationOrganizations.Select(x => x.EducationOrganizationId)
                                 .ToArray();

                    leas.ShouldBe(
                        new[] { leaId });
                }
            }
Beispiel #3
0
        public void ShouldGetApplicationEducationOrganization()
        {
            var vendor = new Vendor {
                VendorName = "test vendor"
            };
            var application = new Application
            {
                ApplicationName       = "test application",
                Vendor                = vendor,
                OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            var applicationOrganization = new ApplicationEducationOrganization {
                Application = application
            };

            application.ApplicationEducationOrganizations.Add(applicationOrganization);
            vendor.Applications.Add(application);
            Save(vendor);
            var organizationId = applicationOrganization.ApplicationEducationOrganizationId;

            organizationId.ShouldBeGreaterThan(0);

            Scoped <IUsersContext>(usersContext =>
            {
                var getApplicationsByVendorIdQuery = new GetApplicationsByVendorIdQuery(usersContext);
                var results = getApplicationsByVendorIdQuery.Execute(vendor.VendorId);
                results.Single().ApplicationEducationOrganizations.Single().ApplicationEducationOrganizationId.ShouldBe(organizationId);
            });
        }
        private static void MockInstanceRegistrationSetup(List <OdsInstanceRegistration> odsInstanceRegistrations)
        {
            var odsInstances = odsInstanceRegistrations.Select(x => new OdsInstance
            {
                OdsInstanceId = x.Id,
                Name          = x.Name,
                InstanceType  = "Ods",
                IsExtended    = false,
                Status        = "OK",
                Version       = "1.0.0"
            }).ToList();

            var applications = odsInstances.Select(x => new Application
            {
                ApplicationName       = x.Name.GetAdminApplicationName(),
                OperationalContextUri = OperationalContext.DefaultOperationalContextUri,
                OdsInstance           = x
            }).ToList();

            foreach (var application in applications)
            {
                var client = new ApiClient
                {
                    Name           = application.ApplicationName,
                    Key            = "test key",
                    Secret         = "test secret",
                    ActivationCode = "test activation code"
                };
                var clientAccessToken = new ClientAccessToken
                {
                    ApiClient  = client,
                    Expiration = DateTime.Now.AddDays(1)
                };
                var appEduOrganization = new ApplicationEducationOrganization
                {
                    Application             = application,
                    EducationOrganizationId = application.OdsInstance.Name.ExtractNumericInstanceSuffix()
                };

                client.ClientAccessTokens.Add(clientAccessToken);
                application.ApiClients.Add(client);
                application.ApplicationEducationOrganizations.Add(appEduOrganization);
            }

            Scoped <IUsersContext>(database =>
            {
                foreach (var odsInstance in odsInstances)
                {
                    database.OdsInstances.Add(odsInstance);
                }

                foreach (var application in applications)
                {
                    database.Applications.Add(application);
                }

                database.SaveChanges();
            });
        }
Beispiel #5
0
        public void ShouldDeleteApplicationWithOrganization()
        {
            var application = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            var client = new ApiClient
            {
                Name   = "test client",
                Key    = "n/a",
                Secret = "n/a",
            };

            var organization = new ApplicationEducationOrganization
            {
                Application = application,
                Clients     = new List <ApiClient> {
                    client
                }
            };

            application.ApiClients.Add(client);
            application.ApplicationEducationOrganizations.Add(organization);
            Save(application);

            var applicationId = application.ApplicationId;

            applicationId.ShouldBeGreaterThan(0);

            var organizationId = organization.ApplicationEducationOrganizationId;

            organizationId.ShouldBeGreaterThan(0);

            Scoped <IUsersContext>(usersContext =>
            {
                var deleteApplicationCommand = new DeleteApplicationCommand(usersContext);
                deleteApplicationCommand.Execute(applicationId);
            });

            Transaction(usersContext => usersContext.Applications.Where(a => a.ApplicationId == applicationId).ToArray()).ShouldBeEmpty();
            Transaction(usersContext => usersContext.ApplicationEducationOrganizations.Where(o => o.ApplicationEducationOrganizationId == organizationId).ToArray()).ShouldBeEmpty();
        }