public void Setup() { _sdkConfigFactory = Substitute.For <ISdkConfigFactory>(); _sdkConfigFactory.LoadGgpSdkConfigOrDefault().Returns(_sdkConfig); _queryParametersParser = Substitute.For <IQueryParametersParser>(); IDictionary <string, string> dict = new Dictionary <string, string>(); _queryParametersParser .GetFinalQueryString(dict, out string _) .Returns(x => { x[1] = string.Empty; return(ConfigStatus.OkStatus()); }); _queryParametersParser .ParametersToDictionary(Arg.Any <string>(), out IDictionary <string, string> _) .Returns(x => { x[1] = dict; return(ConfigStatus.OkStatus()); }); _queryParametersParser.ParseToLaunchRequest(dict, Arg.Any <LaunchGameRequest>()) .Returns(ConfigStatus.OkStatus()); _queryParametersParser .ParseToParameters(dict, Arg.Any <LaunchParams>()) .Returns(ConfigStatus.OkStatus()); _target = new LaunchGameParamsConverter(_sdkConfigFactory, _queryParametersParser); }
public void Setup() { _sdkConfigFactory = Substitute.For <ISdkConfigFactory>(); _sdkConfigFactory.LoadGgpSdkConfigOrDefault().Returns(_sdkConfig); _queryParametersParser = new QueryParametersParser(); _parametersConverter = new LaunchGameParamsConverter(_sdkConfigFactory, _queryParametersParser); }
public ConfigStatus ToLaunchGameRequest( LaunchParams parameters, out LaunchGameRequest request) { ConfigStatus status = _queryParametersParser.ParametersToDictionary( parameters.QueryParams, out IDictionary <string, string> parametersDict); status = status.Merge( _queryParametersParser.ParseToParameters(parametersDict, parameters)); ISdkConfig sdkConfig = _sdkConfigFactory.LoadGgpSdkConfigOrDefault(); status = status.Merge( EnvironmentVariables(parameters, out IDictionary <string, string> envVariables)); status = status.Merge(CommandLineArguments(parameters, out string[] cmdArgs)); if ((parameters.Endpoint == StadiaEndpoint.PlayerEndpoint || parameters.Endpoint == StadiaEndpoint.AnyEndpoint) && !string.IsNullOrEmpty(parameters.TestAccount)) { status.AppendWarning( ErrorStrings.TestAccountsNotSupported(parameters.TestAccountGamerName)); parameters.TestAccount = null; } request = new LaunchGameRequest { Parent = Parent(sdkConfig, parameters), GameletName = parameters.GameletName, ApplicationName = parameters.ApplicationName, ExecutablePath = ExecutablePath(parameters), CommandLineArguments = cmdArgs, EnvironmentVariablePairs = envVariables, SurfaceEnforcementMode = parameters.SurfaceEnforcementMode, Debug = parameters.Debug, EnableDeveloperResumeOffer = parameters.Endpoint == StadiaEndpoint.AnyEndpoint }; status = status.Merge( _queryParametersParser.ParseToLaunchRequest(parametersDict, request)); status = status.Merge( _queryParametersParser.GetFinalQueryString(parametersDict, out string queryString)); parameters.QueryParams = queryString; if ((parameters.Endpoint == StadiaEndpoint.PlayerEndpoint || parameters.Endpoint == StadiaEndpoint.AnyEndpoint) && !string.IsNullOrEmpty(queryString)) { status.AppendWarning(ErrorStrings.QueryParamsNotSupported(queryString)); } return(status); }