/// <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); } }
private ApplicationRegistryService GetTestServiceWithUser(string userName) { ApplicationRegistryService svc = GetTestService(); SetCurrentUser(userName, svc); return(svc); }
private ApplicationRegistryService GetTestService() { ServiceRegistry registry = CoreServiceRegistryContainer.GetServiceRegistry(); ApplicationRegistryService svc = registry.Get <ApplicationRegistryService>(); registry.SetProperties(svc); return(svc); }
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); }
/// <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); }
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); }
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"); }
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); }
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"); }
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); }
public ApiKeyInfo SetActiveApiKeyIndex(int index) { return(ApplicationRegistryService.SetActiveApiKeyIndex(index)); }
public ApiKeyInfo AddApiKey() { return(ApplicationRegistryService.AddApiKey()); }
public void CoreApplicationRegistryServiceNotLoggedInIsAnonymous() { ApplicationRegistryService svc = GetTestService(); Expect.AreSame(User.Anonymous, svc.CurrentUser); }