public async Task ReverseConnect(string securityPolicy) { // ensure endpoints are available await RequireEndpoints().ConfigureAwait(false); // get a connection var config = ClientFixture.Config; ITransportWaitingConnection connection; using (var cancellationTokenSource = new CancellationTokenSource(MaxTimeout)) { connection = await ClientFixture.ReverseConnectManager.WaitForConnection( m_endpointUrl, null, cancellationTokenSource.Token).ConfigureAwait(false); Assert.NotNull(connection, "Failed to get connection."); } // select the secure endpoint var endpointConfiguration = EndpointConfiguration.Create(config); var selectedEndpoint = ClientFixture.SelectEndpoint(config, Endpoints, m_endpointUrl, securityPolicy); Assert.NotNull(selectedEndpoint); var endpoint = new ConfiguredEndpoint(null, selectedEndpoint, endpointConfiguration); Assert.NotNull(endpoint); // connect var session = await Session.Create(config, connection, endpoint, false, false, "Reverse Connect Client", MaxTimeout, new UserIdentity(new AnonymousIdentityToken()), null).ConfigureAwait(false); Assert.NotNull(session); // default request header var requestHeader = new RequestHeader(); requestHeader.Timestamp = DateTime.UtcNow; requestHeader.TimeoutHint = MaxTimeout; // Browse var clientTestServices = new ClientTestServices(session); var referenceDescriptions = CommonTestWorkers.BrowseFullAddressSpaceWorker(clientTestServices, requestHeader); Assert.NotNull(referenceDescriptions); // close session var result = session.Close(); Assert.NotNull(result); session.Dispose(); }
public async Task ReverseConnect2(bool updateBeforeConnect, bool checkDomain) { string securityPolicy = SecurityPolicies.Basic256Sha256; // ensure endpoints are available await RequireEndpoints().ConfigureAwait(false); // get a connection var config = ClientFixture.Config; // select the secure endpoint var endpointConfiguration = EndpointConfiguration.Create(config); var selectedEndpoint = ClientFixture.SelectEndpoint(config, Endpoints, m_endpointUrl, securityPolicy); Assert.NotNull(selectedEndpoint); var endpoint = new ConfiguredEndpoint(null, selectedEndpoint, endpointConfiguration); Assert.NotNull(endpoint); // connect var session = await Session.Create(config, ClientFixture.ReverseConnectManager, endpoint, updateBeforeConnect, checkDomain, "Reverse Connect Client", MaxTimeout, new UserIdentity(new AnonymousIdentityToken()), null).ConfigureAwait(false); Assert.NotNull(session); // header var requestHeader = new RequestHeader(); requestHeader.Timestamp = DateTime.UtcNow; requestHeader.TimeoutHint = MaxTimeout; // Browse var clientTestServices = new ClientTestServices(session); var referenceDescriptions = CommonTestWorkers.BrowseFullAddressSpaceWorker(clientTestServices, requestHeader); Assert.NotNull(referenceDescriptions); // close session var result = session.Close(); Assert.NotNull(result); session.Dispose(); }