1 /* 2 * Copyright 2020 The gRPC Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package io.grpc; 18 19 import static com.google.common.truth.Truth.assertThat; 20 import static org.mockito.Mockito.mock; 21 22 import org.junit.Test; 23 import org.junit.runner.RunWith; 24 import org.junit.runners.JUnit4; 25 26 /** Tests for {@link ChoiceChannelCredentials}. */ 27 @RunWith(JUnit4.class) 28 public class ChoiceChannelCredentialsTest { 29 @Test withoutBearTokenGivesChoiceOfCredsWithoutToken()30 public void withoutBearTokenGivesChoiceOfCredsWithoutToken() { 31 final ChannelCredentials creds1WithoutToken = mock(ChannelCredentials.class); 32 ChannelCredentials creds1 = new ChannelCredentials() { 33 @Override 34 public ChannelCredentials withoutBearerTokens() { 35 return creds1WithoutToken; 36 } 37 }; 38 final ChannelCredentials creds2WithoutToken = mock(ChannelCredentials.class); 39 ChannelCredentials creds2 = new ChannelCredentials() { 40 @Override 41 public ChannelCredentials withoutBearerTokens() { 42 return creds2WithoutToken; 43 } 44 }; 45 ChannelCredentials choice = ChoiceChannelCredentials.create(creds1, creds2); 46 ChannelCredentials choiceWithouToken = choice.withoutBearerTokens(); 47 assertThat(choiceWithouToken).isInstanceOf(ChoiceChannelCredentials.class); 48 assertThat(((ChoiceChannelCredentials) choiceWithouToken).getCredentialsList()) 49 .containsExactly(creds1WithoutToken, creds2WithoutToken); 50 } 51 } 52