public async void InitPassesUserToDataSource() { MockPollingProcessor stub = new MockPollingProcessor(DataSetBuilder.Empty); var config = BasicConfig() .DataSource(stub.AsFactory()) .Build(); using (var client = await LdClient.InitAsync(config, BasicUser)) { var actualUser = client.User; // may have been transformed e.g. to add device/OS properties Assert.Equal(BasicUser.Key, actualUser.Key); Assert.Equal(actualUser, stub.ReceivedUser); } }
public void ConnectionChangeShouldStopDataSource() { var mockUpdateProc = new MockPollingProcessor(null); var mockConnectivityStateManager = new MockConnectivityStateManager(true); var config = BasicConfig() .DataSource(mockUpdateProc.AsFactory()) .ConnectivityStateManager(mockConnectivityStateManager) .Build(); using (var client = TestUtil.CreateClient(config, BasicUser)) { mockConnectivityStateManager.Connect(false); Assert.False(mockUpdateProc.IsRunning); } }
public async void InitWithKeylessAnonUserPassesGeneratedUserToDataSource() { MockPollingProcessor stub = new MockPollingProcessor(DataSetBuilder.Empty); var config = BasicConfig() .DataSource(stub.AsFactory()) .Build(); using (var client = await LdClient.InitAsync(config, KeylessAnonUser)) { AssertHelpers.UsersEqualExcludingAutoProperties( User.Builder(KeylessAnonUser).Key(stub.ReceivedUser.Key).Build(), stub.ReceivedUser); } }
public async void IdentifyPassesUserToDataSource() { MockPollingProcessor stub = new MockPollingProcessor(DataSetBuilder.Empty); User newUser = User.WithKey("new-user"); var config = BasicConfig() .DataSource(stub.AsFactory()) .Build(); using (var client = await LdClient.InitAsync(config, BasicUser)) { AssertHelpers.UsersEqualExcludingAutoProperties(BasicUser, client.User); Assert.Equal(client.User, stub.ReceivedUser); await client.IdentifyAsync(newUser); AssertHelpers.UsersEqualExcludingAutoProperties(newUser, client.User); Assert.Equal(client.User, stub.ReceivedUser); } }