public void EnsureConstructs_a_UserApi_instance() { var podApiFactory = new PodApiFactory("https://pod"); var result = podApiFactory.CreateUserApi(_userSessionManager); Assert.NotNull(result); }
private void StartupSymphonyBot() { // Symphony start up boilerplate start SymphonyOSS.RestApiClient.Generated.OpenApi.PodApi.Client.Configuration.Default = new SymphonyOSS.RestApiClient.Generated.OpenApi.PodApi.Client.Configuration(timeout: config_.TimeoutInMillis); SymphonyOSS.RestApiClient.Generated.OpenApi.AuthenticatorApi.Client.Configuration.Default = new SymphonyOSS.RestApiClient.Generated.OpenApi.AuthenticatorApi.Client.Configuration(timeout: config_.TimeoutInMillis); SymphonyOSS.RestApiClient.Generated.OpenApi.AgentApi.Client.Configuration.Default = new SymphonyOSS.RestApiClient.Generated.OpenApi.AgentApi.Client.Configuration(timeout: config_.TimeoutInMillis); var certificate = new X509Certificate2( config_.BotCertificateFilePath, config_.BotCertificatePassword); var sessionManager = new UserSessionManager( string.Format("{0}/sessionauth/", config_.BaseApiUrl), string.Format("{0}/keyauth/", config_.BaseApiUrl), certificate); var agentApiFactory = new AgentApiFactory( string.Format("{0}/agent", config_.BaseApiUrl)); var podApiBaseUrl = string.Format("{0}/pod", config_.BasePodUrl); var podApiFactory = new PodApiFactory(podApiBaseUrl); // Symphony start up boilerplate end // create a data feed API to listen for chat messages datafeedApi_ = agentApiFactory.CreateDatafeedApi(sessionManager); datafeedApi_.OnMessage += OnMessageReceived; // create streams API to initiate chats streamsApi_ = podApiFactory.CreateStreamsApi(sessionManager); // create messages API to send messages messagesApi_ = agentApiFactory.CreateMessagesApi(sessionManager); // create users API to resolve users by e-mail or id usersApi_ = podApiFactory.CreateUsersApi(sessionManager); // start listening for messages from out bot // NB: Listen() is blocking, so run on a dedicated thread Task.Factory.StartNew(datafeedApi_.Listen, TaskCreationOptions.LongRunning); }