From 37236c56a7c204d4f34fab2be5b1f307d1af6e4b Mon Sep 17 00:00:00 2001 From: James Kennedy Date: Fri, 12 Feb 2016 11:16:03 -0800 Subject: 487761: Allow credential fields to be toggled setNeedsRepositoryCredentials() now affects the editability of credentials fields after control creation. Change-Id: I1cc5c8f61f1274dd052c98e0d5ab993504e0dee9 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=487761 Signed-off-by: James Kennedy --- .../ui/wizards/RepositorySettingsPageTest.java | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'org.eclipse.mylyn.tasks.ui.tests') diff --git a/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/tasks/ui/wizards/RepositorySettingsPageTest.java b/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/tasks/ui/wizards/RepositorySettingsPageTest.java index 1a595dc87..6e163cccf 100644 --- a/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/tasks/ui/wizards/RepositorySettingsPageTest.java +++ b/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/tasks/ui/wizards/RepositorySettingsPageTest.java @@ -70,6 +70,7 @@ public class RepositorySettingsPageTest { Combo getServerUrlCombo() { return serverUrlCombo; } + } public static class RepositorySettingsPageWithNoCredentials extends TestRepositorySettingsPage { @@ -205,6 +206,72 @@ public class RepositorySettingsPageTest { assertTrue(serverUrlCombo.isEnabled()); } + @Test + public void setNeedsRepositoryCredentialsInitializeFalse() throws Exception { + TestRepositorySettingsPage page = new TestRepositorySettingsPage(createTaskRepository()); + page.setNeedsRepositoryCredentials(false); + page.createControl(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); + + assertFalse(page.needsRepositoryCredentials()); + assertNull(page.repositoryUserNameEditor); + assertNull(page.repositoryPasswordEditor); + } + + @Test + public void setNeedsRepositoryCredentialsInitializeTrue() throws Exception { + TestRepositorySettingsPage page = new TestRepositorySettingsPage(createTaskRepository()); + page.setNeedsRepositoryCredentials(true); + page.createControl(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); + + assertTrue(page.needsRepositoryCredentials()); + assertCredentialsEnabled(page); + } + + @Test + public void setNeedsRepositoryCredentialsFalse() throws Exception { + TestRepositorySettingsPage page = new TestRepositorySettingsPage(createTaskRepository()); + page.setNeedsRepositoryCredentials(true); + page.createControl(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); + assertCredentialsEnabled(page); + + page.setNeedsRepositoryCredentials(false); + + assertCredentialsDisabled(page); + } + + @Test + public void setNeedsRepositoryCredentialsTrue() throws Exception { + TestRepositorySettingsPage page = new TestRepositorySettingsPage(createTaskRepository()); + page.setNeedsRepositoryCredentials(true); + page.createControl(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); + page.setNeedsRepositoryCredentials(false); + assertCredentialsDisabled(page); + + page.setNeedsRepositoryCredentials(true); + assertCredentialsEnabled(page); + } + + @Test + public void repositoryCredentialsEnabledOnlyIfNeededAndNotAnonymous() throws Exception { + TestRepositorySettingsPage page = new TestRepositorySettingsPage(createTaskRepository()); + page.setNeedsRepositoryCredentials(true); + page.setNeedsAnonymousLogin(true); + page.createControl(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); + + assertTrue(page.needsRepositoryCredentials()); + assertTrue(page.isAnonymousAccess()); + assertCredentialsDisabled(page); + + page.setAnonymous(false); + page.setNeedsRepositoryCredentials(false); + + assertCredentialsDisabled(page); + + page.setNeedsRepositoryCredentials(true); + + assertCredentialsEnabled(page); + } + @Test public void isUrlReadOnly() throws Exception { TestRepositorySettingsPage page = new TestRepositorySettingsPage(createTaskRepository()); @@ -235,4 +302,14 @@ public class RepositorySettingsPageTest { repository.setRepositoryLabel("label"); return repository; } + + private void assertCredentialsEnabled(TestRepositorySettingsPage page) { + assertTrue(page.repositoryUserNameEditor.getTextControl(page.compositeContainer).isEnabled()); + assertTrue(page.repositoryPasswordEditor.getTextControl(page.compositeContainer).isEnabled()); + } + + private void assertCredentialsDisabled(TestRepositorySettingsPage page) { + assertFalse(page.repositoryUserNameEditor.getTextControl(page.compositeContainer).isEnabled()); + assertFalse(page.repositoryPasswordEditor.getTextControl(page.compositeContainer).isEnabled()); + } } -- cgit v1.2.3