/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * 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 org.uberfire.java.nio.fs.jgit; import java.net.Authenticator; import java.net.InetAddress; import java.net.MalformedURLException; import java.net.PasswordAuthentication; import java.net.URL; import java.net.UnknownHostException; import java.util.HashMap; import org.junit.Test; import static java.net.Authenticator.requestPasswordAuthentication; import static org.junit.Assert.*; public class JGitFileSystemProviderHttpProxyTest { @Test public void testHttpProxy() throws MalformedURLException, UnknownHostException { final String userName = "user"; final String passw = "passwd"; final JGitFileSystemProvider provider = new JGitFileSystemProvider(new HashMap<String, String>() {{ put("http.proxyUser", "user"); put("http.proxyPassword", "passwd"); put("org.uberfire.nio.git.daemon.enabled", "false"); put("org.uberfire.nio.git.ssh.enabled", "false"); }}); final PasswordAuthentication passwdAuth = requestPasswordAuthentication("localhost", InetAddress.getLocalHost(), 8080, "http", "xxx", "http", new URL("http://localhost"), Authenticator.RequestorType.PROXY); assertEquals(userName, passwdAuth.getUserName()); assertEquals(passw, new String(passwdAuth.getPassword())); provider.dispose(); } @Test public void testHttpsProxy() throws MalformedURLException, UnknownHostException { final String userName = "user"; final String passw = "passwd"; final JGitFileSystemProvider provider = new JGitFileSystemProvider(new HashMap<String, String>() {{ put("https.proxyUser", "user"); put("https.proxyPassword", "passwd"); put("org.uberfire.nio.git.daemon.enabled", "false"); put("org.uberfire.nio.git.ssh.enabled", "false"); }}); final PasswordAuthentication passwdAuth = requestPasswordAuthentication("localhost", InetAddress.getLocalHost(), 8080, "https", "xxx", "https", new URL("https://localhost"), Authenticator.RequestorType.PROXY); assertEquals(userName, passwdAuth.getUserName()); assertEquals(passw, new String(passwdAuth.getPassword())); provider.dispose(); } @Test public void testNoProxyInfo() throws MalformedURLException, UnknownHostException { final JGitFileSystemProvider provider = new JGitFileSystemProvider(new HashMap<String, String>() {{ put("org.uberfire.nio.git.daemon.enabled", "false"); put("org.uberfire.nio.git.ssh.enabled", "false"); }}); { final PasswordAuthentication passwdAuth = requestPasswordAuthentication("localhost", InetAddress.getLocalHost(), 8080, "https", "xxx", "https", new URL("https://localhost"), Authenticator.RequestorType.PROXY); assertNull(passwdAuth); } { final PasswordAuthentication passwdAuth = requestPasswordAuthentication("localhost", InetAddress.getLocalHost(), 8080, "http", "xxx", "http", new URL("http://localhost"), Authenticator.RequestorType.PROXY); assertNull(passwdAuth); } provider.dispose(); } }