public void EnvironmentRequestMapperTest() { Environment source = DataFactory.CreateEnvironmentRequest(); environmentType destination = MapperFactory.CreateInstance <Environment, environmentType>(source); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.IconURI, destination.applicationInfo.adapterProduct.iconURI); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.ProductName, destination.applicationInfo.adapterProduct.productName); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.ProductVersion, destination.applicationInfo.adapterProduct.productVersion); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.VendorName, destination.applicationInfo.adapterProduct.vendorName); Assert.AreEqual(source.ApplicationInfo.ApplicationKey, destination.applicationInfo.applicationKey); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.IconURI, destination.applicationInfo.applicationProduct.iconURI); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.ProductName, destination.applicationInfo.applicationProduct.productName); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.ProductVersion, destination.applicationInfo.applicationProduct.productVersion); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.VendorName, destination.applicationInfo.applicationProduct.vendorName); Assert.AreEqual(source.ApplicationInfo.DataModelNamespace, destination.applicationInfo.dataModelNamespace); Assert.AreEqual(source.ApplicationInfo.SupportedInfrastructureVersion, destination.applicationInfo.supportedInfrastructureVersion); Assert.AreEqual(source.ApplicationInfo.Transport, destination.applicationInfo.transport); Assert.AreEqual(source.AuthenticationMethod, destination.authenticationMethod); Assert.AreEqual(source.ConsumerName, destination.consumerName); Assert.AreEqual(source.DefaultZone.Description, destination.defaultZone.description); Assert.AreEqual(source.DefaultZone.Id.ToString(), destination.defaultZone.id); Assert.AreEqual(source.InstanceId, destination.instanceId); Assert.AreEqual(source.SessionToken, destination.sessionToken); Assert.AreEqual(source.SolutionId, destination.solutionId); Assert.AreEqual(source.Type.ToString(), destination.type.ToString()); Assert.AreEqual(source.UserToken, destination.userToken); Assert.AreEqual(source.Id.ToString(), destination.id); }
public void EnvironmentResponseMapperTest() { Environment source = DataFactory.CreateEnvironmentResponse(); environmentType destination = MapperFactory.CreateInstance <Environment, environmentType>(source); // Assert that the mapping was successful. Assert.AreEqual(source.ApplicationInfo.AdapterProduct.IconURI, destination.applicationInfo.adapterProduct.iconURI); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.ProductName, destination.applicationInfo.adapterProduct.productName); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.ProductVersion, destination.applicationInfo.adapterProduct.productVersion); Assert.AreEqual(source.ApplicationInfo.AdapterProduct.VendorName, destination.applicationInfo.adapterProduct.vendorName); Assert.AreEqual(source.ApplicationInfo.ApplicationKey, destination.applicationInfo.applicationKey); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.IconURI, destination.applicationInfo.applicationProduct.iconURI); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.ProductName, destination.applicationInfo.applicationProduct.productName); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.ProductVersion, destination.applicationInfo.applicationProduct.productVersion); Assert.AreEqual(source.ApplicationInfo.ApplicationProduct.VendorName, destination.applicationInfo.applicationProduct.vendorName); Assert.AreEqual(source.ApplicationInfo.DataModelNamespace, destination.applicationInfo.dataModelNamespace); Assert.AreEqual(source.ApplicationInfo.SupportedInfrastructureVersion, destination.applicationInfo.supportedInfrastructureVersion); Assert.AreEqual(source.ApplicationInfo.Transport, destination.applicationInfo.transport); Assert.AreEqual(source.AuthenticationMethod, destination.authenticationMethod); Assert.AreEqual(source.ConsumerName, destination.consumerName); Assert.AreEqual(source.DefaultZone.Description, destination.defaultZone.description); Assert.AreEqual(source.DefaultZone.SifId, destination.defaultZone.id); Assert.AreEqual(source.Id.ToString(), destination.id); int index = 0; foreach (InfrastructureService sourceProperty in source.InfrastructureServices.Values) { Assert.AreEqual(sourceProperty.Name.ToString(), destination.infrastructureServices[index].name.ToString()); Assert.AreEqual(sourceProperty.Value, destination.infrastructureServices[index].Value); index++; } index = 0; foreach (ProvisionedZone sourceProvisionedZone in source.ProvisionedZones.Values) { Assert.AreEqual(sourceProvisionedZone.SifId, destination.provisionedZones[index].id); int sourceIndex = 0; foreach (Model.Infrastructure.Service sourceService in sourceProvisionedZone.Services) { Assert.AreEqual(sourceService.ContextId, destination.provisionedZones[index].services[sourceIndex].contextId); Assert.AreEqual(sourceService.Name, destination.provisionedZones[index].services[sourceIndex].name); Assert.AreEqual(sourceService.Type, destination.provisionedZones[index].services[sourceIndex].type); int rightIndex = 0; foreach (Right sourceRight in sourceService.Rights.Values) { Assert.AreEqual(sourceRight.Type, destination.provisionedZones[index].services[sourceIndex].rights[rightIndex].type); Assert.AreEqual(sourceRight.Value, destination.provisionedZones[index].services[sourceIndex].rights[rightIndex].Value); rightIndex++; } sourceIndex++; } index++; } }
public override HttpResponseMessage Create (environmentType item, string authenticationMethod = null, string consumerName = null, string solutionId = null, string dataModelNamespace = null, string supportedInfrastructureVersion = null, string transport = null, string productName = null) { return(base.Create(item, authenticationMethod, consumerName, solutionId, dataModelNamespace, supportedInfrastructureVersion, transport, productName)); }
/// <summary> /// <see cref="AuthenticationService.SharedSecret(string)">SharedSecret</see> /// </summary> protected override string SharedSecret(string sessionToken) { environmentType environment = environmentService.RetrieveBySessionToken(sessionToken); if (environment == null) { throw new InvalidSessionException(); } ApplicationRegister applicationRegister = applicationRegisterService.RetrieveByApplicationKey(environment.applicationInfo.applicationKey); return(applicationRegister == null ? null : applicationRegister.SharedSecret); }
GameObject getRandomEnvironmentObject(environmentType type) { int index; switch (type) { case environmentType.traversableFolliage: index = rng.Next(0, traversableFolliageObject.Length); return(traversableFolliageObject[index]); case environmentType.nonTraversableFolliage: index = rng.Next(0, nonTraversableFolliageObject.Length); return(nonTraversableFolliageObject[index]); case environmentType.traversableObject: index = rng.Next(0, traversableObjectObject.Length); return(traversableObjectObject[index]); case environmentType.nonTraversableObject: index = rng.Next(0, nonTraversableObjectObject.Length); return(nonTraversableObjectObject[index]); case environmentType.traversableStructure: index = rng.Next(0, traversableStructureObject.Length); return(traversableStructureObject[index]); case environmentType.nonTraversableStructure: index = rng.Next(0, nonTraversableStructureObject.Length); return(nonTraversableStructureObject[index]); case environmentType.particle: index = rng.Next(0, particleObject.Length); return(particleObject[index]); default: Debug.Log("getRandomEnvironmentObject() error."); return(null); } }
public void Retrieve() { Environment saved = DataFactory.CreateEnvironmentRequest(); (new EnvironmentRepository()).Save(saved); environmentType retrieved = (new EnvironmentService()).Retrieve(saved.Id); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.IconURI, retrieved.applicationInfo.adapterProduct.iconURI); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.ProductName, retrieved.applicationInfo.adapterProduct.productName); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.ProductVersion, retrieved.applicationInfo.adapterProduct.productVersion); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.VendorName, retrieved.applicationInfo.adapterProduct.vendorName); Assert.AreEqual(saved.ApplicationInfo.ApplicationKey, retrieved.applicationInfo.applicationKey); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.IconURI, retrieved.applicationInfo.applicationProduct.iconURI); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.ProductName, retrieved.applicationInfo.applicationProduct.productName); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.ProductVersion, retrieved.applicationInfo.applicationProduct.productVersion); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.VendorName, retrieved.applicationInfo.applicationProduct.vendorName); Assert.AreEqual(saved.ApplicationInfo.DataModelNamespace, retrieved.applicationInfo.dataModelNamespace); Assert.AreEqual(saved.ApplicationInfo.SupportedInfrastructureVersion, retrieved.applicationInfo.supportedInfrastructureVersion); Assert.AreEqual(saved.ApplicationInfo.Transport, retrieved.applicationInfo.transport); Assert.AreEqual(saved.AuthenticationMethod, retrieved.authenticationMethod); Assert.AreEqual(saved.ConsumerName, retrieved.consumerName); Assert.AreEqual(saved.DefaultZone.Description, retrieved.defaultZone.description); }
public void Retrieve() { // Save a new Environment and then retrieve it using it's identifier. Environment saved = DataFactory.CreateEnvironmentRequest(); Guid environmentId = environmentRepository.Save(saved); environmentType retrieved = environmentService.Retrieve(environmentId); // Assert that the retrieved Environment matches the saved Environment. Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.IconURI, retrieved.applicationInfo.adapterProduct.iconURI); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.ProductName, retrieved.applicationInfo.adapterProduct.productName); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.ProductVersion, retrieved.applicationInfo.adapterProduct.productVersion); Assert.AreEqual(saved.ApplicationInfo.AdapterProduct.VendorName, retrieved.applicationInfo.adapterProduct.vendorName); Assert.AreEqual(saved.ApplicationInfo.ApplicationKey, retrieved.applicationInfo.applicationKey); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.IconURI, retrieved.applicationInfo.applicationProduct.iconURI); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.ProductName, retrieved.applicationInfo.applicationProduct.productName); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.ProductVersion, retrieved.applicationInfo.applicationProduct.productVersion); Assert.AreEqual(saved.ApplicationInfo.ApplicationProduct.VendorName, retrieved.applicationInfo.applicationProduct.vendorName); Assert.AreEqual(saved.ApplicationInfo.DataModelNamespace, retrieved.applicationInfo.dataModelNamespace); Assert.AreEqual(saved.ApplicationInfo.SupportedInfrastructureVersion, retrieved.applicationInfo.supportedInfrastructureVersion); Assert.AreEqual(saved.ApplicationInfo.Transport, retrieved.applicationInfo.transport); Assert.AreEqual(saved.AuthenticationMethod, retrieved.authenticationMethod); Assert.AreEqual(saved.ConsumerName, retrieved.consumerName); Assert.AreEqual(saved.DefaultZone.Description, retrieved.defaultZone.description); }
/// <summary> /// <see cref="AuthenticationService.GetEnvironmentBySessionToken(string)">GetEnvironmentBySessionToken</see> /// </summary> public override Environment GetEnvironmentBySessionToken(string sessionToken) { environmentType environment = environmentService.RetrieveBySessionToken(sessionToken); return(MapperFactory.CreateInstance <environmentType, Environment>(environment)); }
void spawnRandomNonTraversableObject(environmentType type, Pos position) { mapManager.instantiate_environment(getRandomEnvironmentObject(type), position, false); }
/// <summary> /// <see cref="IRegistrationService.Register(ref Environment)">Register</see> /// </summary> public Environment Register(ref Environment environment) { if (Registered) { return(CurrentEnvironment); } if (sessionService.HasSession(environment.ApplicationInfo.ApplicationKey, environment.SolutionId, environment.UserToken, environment.InstanceId)) { if (log.IsDebugEnabled) { log.Debug("Session token already exists for this object service (Consumer/Provider)."); } string storedSessionToken = sessionService.RetrieveSessionToken(environment.ApplicationInfo.ApplicationKey, environment.SolutionId, environment.UserToken, environment.InstanceId); AuthorisationToken = authorisationTokenService.Generate(storedSessionToken, settings.SharedSecret); string storedEnvironmentUrl = sessionService.RetrieveEnvironmentUrl(environment.ApplicationInfo.ApplicationKey, environment.SolutionId, environment.UserToken, environment.InstanceId); string environmentXml = HttpUtils.GetRequest(storedEnvironmentUrl, AuthorisationToken); if (log.IsDebugEnabled) { log.Debug("Environment XML from GET request ..."); } if (log.IsDebugEnabled) { log.Debug(environmentXml); } environmentType environmentTypeToDeserialise = SerialiserFactory.GetXmlSerialiser <environmentType>().Deserialise(environmentXml); Environment environmentResponse = MapperFactory.CreateInstance <environmentType, Environment>(environmentTypeToDeserialise); sessionToken = environmentResponse.SessionToken; environmentUrl = environmentResponse.InfrastructureServices[InfrastructureServiceNames.environment].Value; if (log.IsDebugEnabled) { log.Debug("Environment URL is " + environmentUrl + "."); } if (!storedSessionToken.Equals(sessionToken) || !storedEnvironmentUrl.Equals(environmentUrl)) { AuthorisationToken = authorisationTokenService.Generate(sessionToken, settings.SharedSecret); sessionService.RemoveSession(storedSessionToken); sessionService.StoreSession(environmentResponse.ApplicationInfo.ApplicationKey, sessionToken, environmentUrl, environmentResponse.SolutionId, environmentResponse.UserToken, environmentResponse.InstanceId); } environment = environmentResponse; } else { if (log.IsDebugEnabled) { log.Debug("Session token does not exist for this object service (Consumer/Provider)."); } AuthorisationToken initialToken = authorisationTokenService.Generate(environment.ApplicationInfo.ApplicationKey, settings.SharedSecret); environmentType environmentTypeToSerialise = MapperFactory.CreateInstance <Environment, environmentType>(environment); string body = SerialiserFactory.GetXmlSerialiser <environmentType>().Serialise(environmentTypeToSerialise); string environmentXml = HttpUtils.PostRequest(settings.EnvironmentUrl, initialToken, body); if (log.IsDebugEnabled) { log.Debug("Environment XML from POST request ..."); } if (log.IsDebugEnabled) { log.Debug(environmentXml); } try { environmentType environmentTypeToDeserialise = SerialiserFactory.GetXmlSerialiser <environmentType>().Deserialise(environmentXml); Environment environmentResponse = MapperFactory.CreateInstance <environmentType, Environment>(environmentTypeToDeserialise); sessionToken = environmentResponse.SessionToken; environmentUrl = environmentResponse.InfrastructureServices[InfrastructureServiceNames.environment].Value; if (log.IsDebugEnabled) { log.Debug("Environment URL is " + environmentUrl + "."); } AuthorisationToken = authorisationTokenService.Generate(sessionToken, settings.SharedSecret); sessionService.StoreSession(environment.ApplicationInfo.ApplicationKey, sessionToken, environmentUrl, environmentResponse.SolutionId, environmentResponse.UserToken, environmentResponse.InstanceId); environment = environmentResponse; } catch (Exception) { if (environmentUrl != null) { HttpUtils.DeleteRequest(environmentUrl, AuthorisationToken); } else if (!string.IsNullOrWhiteSpace(TryParseEnvironmentUrl(environmentXml))) { HttpUtils.DeleteRequest(TryParseEnvironmentUrl(environmentXml), AuthorisationToken); } throw; } } CurrentEnvironment = environment; Registered = true; return(CurrentEnvironment); }
/// <summary> /// <see cref="IRegistrationService.Register(ref Environment)">Register</see> /// </summary> public Environment Register(ref Environment environment) { if (Registered) { return(CurrentEnvironment); } if (sessionService.HasSession( environment.ApplicationInfo.ApplicationKey, environment.SolutionId, environment.UserToken, environment.InstanceId)) { if (log.IsDebugEnabled) { log.Debug("Session token already exists for this object service (Consumer/Provider)."); } string storedSessionToken = sessionService.RetrieveSessionToken( environment.ApplicationInfo.ApplicationKey, environment.SolutionId, environment.UserToken, environment.InstanceId); authorisationToken = authorisationTokenService.Generate(storedSessionToken, settings.SharedSecret); string storedEnvironmentUrl = sessionService.RetrieveEnvironmentUrl( environment.ApplicationInfo.ApplicationKey, environment.SolutionId, environment.UserToken, environment.InstanceId); string environmentBody = HttpUtils.GetRequest( storedEnvironmentUrl, authorisationToken, settings.CompressPayload, contentTypeOverride: settings.ContentType.ToDescription(), acceptOverride: settings.Accept.ToDescription()); if (log.IsDebugEnabled) { log.Debug($"Environment response from GET request ...\n{environmentBody}"); } environmentType environmentTypeToDeserialise = SerialiserFactory.GetSerialiser <environmentType>(settings.Accept).Deserialise(environmentBody); Environment environmentResponse = MapperFactory.CreateInstance <environmentType, Environment>(environmentTypeToDeserialise); sessionToken = environmentResponse.SessionToken; environmentUrl = environmentResponse.InfrastructureServices[InfrastructureServiceNames.environment].Value; if (log.IsDebugEnabled) { log.Debug($"Environment URL is {environmentUrl}."); } if (!storedSessionToken.Equals(sessionToken) || !storedEnvironmentUrl.Equals(environmentUrl)) { authorisationToken = authorisationTokenService.Generate(sessionToken, settings.SharedSecret); sessionService.RemoveSession(storedSessionToken); sessionService.StoreSession( environmentResponse.ApplicationInfo.ApplicationKey, sessionToken, environmentUrl, environmentResponse.SolutionId, environmentResponse.UserToken, environmentResponse.InstanceId); } environment = environmentResponse; } else { if (log.IsDebugEnabled) { log.Debug("Session token does not exist for this object service (Consumer/Provider)."); } string environmentBody = null; try { AuthorisationToken initialToken = authorisationTokenService.Generate( environment.ApplicationInfo.ApplicationKey, settings.SharedSecret); environmentType environmentTypeToSerialise = MapperFactory.CreateInstance <Environment, environmentType>(environment); string body = SerialiserFactory.GetSerialiser <environmentType>(settings.ContentType) .Serialise(environmentTypeToSerialise); environmentBody = HttpUtils.PostRequest( settings.EnvironmentUrl, initialToken, body, settings.CompressPayload, contentTypeOverride: settings.ContentType.ToDescription(), acceptOverride: settings.Accept.ToDescription()); if (log.IsDebugEnabled) { log.Debug($"Environment response from POST request ...\n{environmentBody}"); } environmentType environmentTypeToDeserialise = SerialiserFactory.GetSerialiser <environmentType>(settings.Accept).Deserialise(environmentBody); Environment environmentResponse = MapperFactory.CreateInstance <environmentType, Environment>(environmentTypeToDeserialise); sessionToken = environmentResponse.SessionToken; environmentUrl = environmentResponse.InfrastructureServices[InfrastructureServiceNames.environment].Value; if (log.IsDebugEnabled) { log.Debug($"Environment URL is {environmentUrl}."); } authorisationToken = authorisationTokenService.Generate(sessionToken, settings.SharedSecret); sessionService.StoreSession( environment.ApplicationInfo.ApplicationKey, sessionToken, environmentUrl, environmentResponse.SolutionId, environmentResponse.UserToken, environmentResponse.InstanceId); environment = environmentResponse; } catch (Exception e) { if (environmentUrl != null) { HttpUtils.DeleteRequest(environmentUrl, authorisationToken, settings.CompressPayload); } else if (!string.IsNullOrWhiteSpace(TryParseEnvironmentUrl(environmentBody))) { HttpUtils.DeleteRequest( TryParseEnvironmentUrl(environmentBody), authorisationToken, settings.CompressPayload); } throw new RegistrationException("Registration failed.", e); } } CurrentEnvironment = environment; Registered = true; return(CurrentEnvironment); }