diff options
Diffstat (limited to 'gerrit-server/src/test/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java')
-rw-r--r-- | gerrit-server/src/test/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java | 393 |
1 files changed, 0 insertions, 393 deletions
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java deleted file mode 100644 index d65dd47501..0000000000 --- a/gerrit-server/src/test/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java +++ /dev/null @@ -1,393 +0,0 @@ -// Copyright (C) 2009 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.server.mail.send; - -import static com.google.common.truth.Truth.assertThat; -import static org.easymock.EasyMock.createStrictMock; -import static org.easymock.EasyMock.eq; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; - -import com.google.gerrit.common.TimeUtil; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.server.account.AccountCache; -import com.google.gerrit.server.account.AccountState; -import com.google.gerrit.server.config.AllUsersName; -import com.google.gerrit.server.config.AllUsersNameProvider; -import com.google.gerrit.server.mail.Address; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import org.eclipse.jgit.lib.Config; -import org.eclipse.jgit.lib.PersonIdent; -import org.junit.Before; -import org.junit.Test; - -public class FromAddressGeneratorProviderTest { - private Config config; - private PersonIdent ident; - private AccountCache accountCache; - - @Before - public void setUp() throws Exception { - config = new Config(); - ident = new PersonIdent("NAME", "e@email", 0, 0); - accountCache = createStrictMock(AccountCache.class); - } - - private FromAddressGenerator create() { - return new FromAddressGeneratorProvider(config, "Anonymous Coward", ident, accountCache).get(); - } - - private void setFrom(String newFrom) { - config.setString("sendemail", null, "from", newFrom); - } - - private void setDomains(List<String> domains) { - config.setStringList("sendemail", null, "allowedDomain", domains); - } - - @Test - public void defaultIsMIXED() { - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.PatternGen.class); - } - - @Test - public void selectUSER() { - setFrom("USER"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.UserGen.class); - - setFrom("user"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.UserGen.class); - - setFrom("uSeR"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.UserGen.class); - } - - @Test - public void USER_FullyConfiguredUser() { - setFrom("USER"); - - final String name = "A U. Thor"; - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name); - assertThat(r.getEmail()).isEqualTo(email); - verify(accountCache); - } - - @Test - public void USER_NoFullNameUser() { - setFrom("USER"); - - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(null, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isNull(); - assertThat(r.getEmail()).isEqualTo(email); - verify(accountCache); - } - - @Test - public void USER_NoPreferredEmailUser() { - setFrom("USER"); - - final String name = "A U. Thor"; - final Account.Id user = user(name, null); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name + " (Code Review)"); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void USER_NullUser() { - setFrom("USER"); - replay(accountCache); - final Address r = create().from(null); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(ident.getName()); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void USERAllowDomain() { - setFrom("USER"); - setDomains(Arrays.asList("*.example.com")); - final String name = "A U. Thor"; - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name); - assertThat(r.getEmail()).isEqualTo(email); - verify(accountCache); - } - - @Test - public void USERNoAllowDomain() { - setFrom("USER"); - setDomains(Arrays.asList("example.com")); - final String name = "A U. Thor"; - final String email = "a.u.thor@test.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name + " (Code Review)"); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void USERAllowDomainTwice() { - setFrom("USER"); - setDomains(Arrays.asList("example.com")); - setDomains(Arrays.asList("test.com")); - final String name = "A U. Thor"; - final String email = "a.u.thor@test.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name); - assertThat(r.getEmail()).isEqualTo(email); - verify(accountCache); - } - - @Test - public void USERAllowDomainTwiceReverse() { - setFrom("USER"); - setDomains(Arrays.asList("test.com")); - setDomains(Arrays.asList("example.com")); - final String name = "A U. Thor"; - final String email = "a.u.thor@test.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name + " (Code Review)"); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void USERAllowTwoDomains() { - setFrom("USER"); - setDomains(Arrays.asList("example.com", "test.com")); - final String name = "A U. Thor"; - final String email = "a.u.thor@test.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name); - assertThat(r.getEmail()).isEqualTo(email); - verify(accountCache); - } - - @Test - public void selectSERVER() { - setFrom("SERVER"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.ServerGen.class); - - setFrom("server"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.ServerGen.class); - - setFrom("sErVeR"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.ServerGen.class); - } - - @Test - public void SERVER_FullyConfiguredUser() { - setFrom("SERVER"); - - final String name = "A U. Thor"; - final String email = "a.u.thor@test.example.com"; - final Account.Id user = userNoLookup(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(ident.getName()); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void SERVER_NullUser() { - setFrom("SERVER"); - replay(accountCache); - final Address r = create().from(null); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(ident.getName()); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void selectMIXED() { - setFrom("MIXED"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.PatternGen.class); - - setFrom("mixed"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.PatternGen.class); - - setFrom("mIxEd"); - assertThat(create()).isInstanceOf(FromAddressGeneratorProvider.PatternGen.class); - } - - @Test - public void MIXED_FullyConfiguredUser() { - setFrom("MIXED"); - - final String name = "A U. Thor"; - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name + " (Code Review)"); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void MIXED_NoFullNameUser() { - setFrom("MIXED"); - - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(null, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo("Anonymous Coward (Code Review)"); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void MIXED_NoPreferredEmailUser() { - setFrom("MIXED"); - - final String name = "A U. Thor"; - final Account.Id user = user(name, null); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(name + " (Code Review)"); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void MIXED_NullUser() { - setFrom("MIXED"); - replay(accountCache); - final Address r = create().from(null); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(ident.getName()); - assertThat(r.getEmail()).isEqualTo(ident.getEmailAddress()); - verify(accountCache); - } - - @Test - public void CUSTOM_FullyConfiguredUser() { - setFrom("A ${user} B <my.server@email.address>"); - - final String name = "A U. Thor"; - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(name, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo("A " + name + " B"); - assertThat(r.getEmail()).isEqualTo("my.server@email.address"); - verify(accountCache); - } - - @Test - public void CUSTOM_NoFullNameUser() { - setFrom("A ${user} B <my.server@email.address>"); - - final String email = "a.u.thor@test.example.com"; - final Account.Id user = user(null, email); - - replay(accountCache); - final Address r = create().from(user); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo("A Anonymous Coward B"); - assertThat(r.getEmail()).isEqualTo("my.server@email.address"); - verify(accountCache); - } - - @Test - public void CUSTOM_NullUser() { - setFrom("A ${user} B <my.server@email.address>"); - - replay(accountCache); - final Address r = create().from(null); - assertThat(r).isNotNull(); - assertThat(r.getName()).isEqualTo(ident.getName()); - assertThat(r.getEmail()).isEqualTo("my.server@email.address"); - verify(accountCache); - } - - private Account.Id user(String name, String email) { - final AccountState s = makeUser(name, email); - expect(accountCache.get(eq(s.getAccount().getId()))).andReturn(s); - return s.getAccount().getId(); - } - - private Account.Id userNoLookup(String name, String email) { - final AccountState s = makeUser(name, email); - return s.getAccount().getId(); - } - - private AccountState makeUser(String name, String email) { - final Account.Id userId = new Account.Id(42); - final Account account = new Account(userId, TimeUtil.nowTs()); - account.setFullName(name); - account.setPreferredEmail(email); - return new AccountState( - new AllUsersName(AllUsersNameProvider.DEFAULT), - account, - Collections.emptySet(), - new HashMap<>()); - } -} |