Exemplo n.º 1
0
 /// <summary>
 /// Register the current application and ensure that the local ApiKeyInfo is set and
 /// written to ApiKeyFilePath
 /// </summary>
 /// <returns></returns>
 protected internal bool RegisterApplicationProcess()
 {
     lock (_registerLock)
     {
         if (!IsInitialized)
         {
             FireEvent(Initializing);
             CoreServiceResponse           response = ApplicationRegistryService.RegisterApplicationProcess(ProcessDescriptor);
             ApplicationRegistrationResult appRegistrationResult = response.Data.FromJObject <ApplicationRegistrationResult>();
             if (response.Success)
             {
                 IsInitialized = true;
                 FireEvent(Initialized);
                 ApiKeyInfo keyInfo = new ApiKeyInfo
                 {
                     ApiKey = appRegistrationResult.ApiKey,
                     ApplicationClientId = appRegistrationResult.ClientId,
                     ApplicationName     = GetApplicationName()
                 };
                 EnsureApiKeyFileDirectory();
                 keyInfo.ToJsonFile(ApiKeyFilePath);
                 FireEvent(ApiKeyFileSaved);
             }
             else
             {
                 Message = response.Message;
                 FireEvent(InitializationFailed);
             }
         }
         return(IsInitialized);
     }
 }
Exemplo n.º 2
0
        private ApplicationRegistryService GetTestServiceWithUser(string userName)
        {
            ApplicationRegistryService svc = GetTestService();

            SetCurrentUser(userName, svc);
            return(svc);
        }
Exemplo n.º 3
0
        private ApplicationRegistryService GetTestService()
        {
            ServiceRegistry            registry = CoreServiceRegistryContainer.GetServiceRegistry();
            ApplicationRegistryService svc      = registry.Get <ApplicationRegistryService>();

            registry.SetProperties(svc);
            return(svc);
        }
Exemplo n.º 4
0
 private void SetProperty(string propertyName)
 {
     ApplicationRegistryService.Property(propertyName, this);
     ConfigurationService.Property(propertyName, this);
     DiagnosticService.Property(propertyName, this);
     LoggerService.Property(propertyName, this);
     UserRegistryService.Property(propertyName, this);
     RoleService.Property(propertyName, this);
 }
Exemplo n.º 5
0
        /// <summary>
        /// Register this client machine/process with the remote host
        /// </summary>
        /// <returns></returns>
        public CoreServiceResponse RegisterClient()
        {
            Client client = Client.Of(LocalCoreRegistryRepository, ApplicationName, HostName, Port);
            CoreServiceResponse registrationResponse = ApplicationRegistryService.RegisterClient(client);

            if (registrationResponse == null || !registrationResponse.Success)
            {
                throw new ClientRegistrationFailedException(registrationResponse);
            }
            return(registrationResponse);
        }
Exemplo n.º 6
0
        public void CoreApplicationRegistryServiceMustBeLoggedInToRegister()
        {
            ApplicationRegistryService svc = GetTestService();
            string              orgName    = 5.RandomLetters();
            string              appName    = 8.RandomLetters();
            ProcessDescriptor   descriptor = ProcessDescriptor.ForApplicationRegistration(svc.ApplicationRegistrationRepository, "localhost", 8080, appName, orgName);
            CoreServiceResponse response   = svc.RegisterApplicationProcess(descriptor);

            Expect.IsFalse(response.Success);
            Expect.IsNotNull(response.Data);
            Expect.IsInstanceOfType <ApplicationRegistrationResult>(response.Data);
            Expect.AreEqual(ApplicationRegistrationStatus.Unauthorized, ((ApplicationRegistrationResult)response.Data).Status);
        }
Exemplo n.º 7
0
        public void TestTheSetup()
        {
            ApplicationRegistryService svc = GetTestService();
            string userName = 8.RandomLetters();
            User   user     = SetCurrentUser(userName, svc);

            Expect.AreEqual(userName, user.UserName);
            User sessionUser = Session.Get(svc.HttpContext).UserOfUserId;

            Expect.IsNotNull(sessionUser);
            Expect.AreEqual(userName, sessionUser.UserName, "UserName didn't match");
            Expect.AreEqual(sessionUser, svc.CurrentUser, "Users didn't match");
        }
Exemplo n.º 8
0
 public ApiKeyInfo GetApiKeyInfo(IApplicationNameProvider nameProvider)
 {
     if (_apiKeyInfo == null)
     {
         if (File.Exists(ApiKeyFilePath))
         {
             _apiKeyInfo = ApiKeyFilePath.FromJsonFile <ApiKeyInfo>();
         }
         else
         {
             FireEvent(ApiKeyFileNotFound);
             _apiKeyInfo = ApplicationRegistryService.GetClientApiKeyInfo();
             _apiKeyInfo.ApplicationName = nameProvider.GetApplicationName();
             EnsureApiKeyFileDirectory();
             _apiKeyInfo.ToJsonFile(ApiKeyFilePath);
         }
     }
     return(_apiKeyInfo);
 }
Exemplo n.º 9
0
        public void OrganizationGetsCreated()
        {
            Log.Default = new ConsoleLogger();
            Log.Default.StartLoggingThread();
            string userName = 4.RandomLetters();
            string orgName  = 5.RandomLetters();
            string appName  = 8.RandomLetters();
            ApplicationRegistryService svc        = GetTestServiceWithUser(userName);
            ProcessDescriptor          descriptor = ProcessDescriptor.ForApplicationRegistration(svc.ApplicationRegistrationRepository, "localhost", 8080, appName, orgName);
            CoreServiceResponse        response   = svc.RegisterApplicationProcess(descriptor);

            Expect.IsTrue(response.Success);
            var user = svc.ApplicationRegistrationRepository.OneUserWhere(c => c.UserName == userName);

            user = svc.ApplicationRegistrationRepository.Retrieve <ApplicationRegistration.Data.User>(user.Id);
            Expect.IsNotNull(user);
            Expect.AreEqual(1, user.Organizations.Count);
            Thread.Sleep(1000);
            Pass($"{nameof(OrganizationGetsCreated)} Test Passed");
        }
Exemplo n.º 10
0
        private static User SetCurrentUser(string userName, ApplicationRegistryService svc)
        {
            IHttpContext ctx = Substitute.For <IHttpContext>();

            ctx.Request = Substitute.For <IRequest>();
            ctx.Request.Url.Returns(new Uri("http://test.cxm"));
            NameValueCollection headers = new NameValueCollection();

            headers["REMOTE_ADDR"] = "127.0.0.1";
            ctx.Request.Headers.Returns(headers);
            ctx.Response = Substitute.For <IResponse>();
            CookieCollection Cookies       = new CookieCollection();
            Cookie           sessionCookie = new Cookie(Session.CookieName, "0368c7fde0a40272d42e14e224d37761dbccef665116ccb063ae31aaa7708d72");

            Cookies.Add(sessionCookie);
            ctx.Request.Cookies.Returns(Cookies);
            ctx.Response.Cookies.Returns(Cookies);
            svc.HttpContext = ctx;
            SessionCollection sessions = Session.LoadAll();

            sessions.Delete();
            UserCollection users = User.LoadAll();

            users.Delete();
            User    result  = User.Create(userName);
            Session session = Session.Get(ctx);

            session.UserId = result.Id;
            session.Save();
            IEnumerable <Organization> organizations = svc.ApplicationRegistrationRepository.RetrieveAll <Organization>();

            organizations.Each(o => svc.ApplicationRegistrationRepository.Delete(o));
            Expect.AreEqual(0, svc.ApplicationRegistrationRepository.RetrieveAll <Organization>().Count());
            IEnumerable <ApplicationRegistration.Data.Application> apps = svc.ApplicationRegistrationRepository.RetrieveAll <ApplicationRegistration.Data.Application>();

            apps.Each(a => svc.ApplicationRegistrationRepository.Delete(a));
            Expect.AreEqual(0, svc.ApplicationRegistrationRepository.RetrieveAll <ApplicationRegistration.Data.Application>().Count());
            svc.ApplicationRegistrationRepository.RetrieveAll <Machine>().Each(h => svc.ApplicationRegistrationRepository.Delete(h));
            return(result);
        }
Exemplo n.º 11
0
 public ApiKeyInfo SetActiveApiKeyIndex(int index)
 {
     return(ApplicationRegistryService.SetActiveApiKeyIndex(index));
 }
Exemplo n.º 12
0
 public ApiKeyInfo AddApiKey()
 {
     return(ApplicationRegistryService.AddApiKey());
 }
Exemplo n.º 13
0
        public void CoreApplicationRegistryServiceNotLoggedInIsAnonymous()
        {
            ApplicationRegistryService svc = GetTestService();

            Expect.AreSame(User.Anonymous, svc.CurrentUser);
        }