blob: 4d224bbb4d95871659139e3d941025d4c560fc35 [file] [log] [blame]
/*
* Copyright 2014-present Facebook, Inc.
*
* 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.facebook.buck.cli;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import com.facebook.buck.util.environment.Platform;
import com.google.common.collect.ImmutableMap;
import org.junit.Test;
public class EnvironmentFilterTest {
@Test
public void testCleanEnvironment() {
ImmutableMap.Builder<String, String> cleanEnvironmentBuilder = ImmutableMap.builder();
cleanEnvironmentBuilder.put("TEST_ID", "42");
cleanEnvironmentBuilder.put("TEST_ANOTHER_ID", "23");
ImmutableMap<String, String> cleanEnvironment = cleanEnvironmentBuilder.build();
assertEquals(
cleanEnvironment,
EnvironmentFilter.filteredEnvironment(cleanEnvironment, Platform.detect()));
}
@Test
public void testAllDirtyEnvironment() {
ImmutableMap.Builder<String, String> dirtyEnvironmentBuilder = ImmutableMap.builder();
dirtyEnvironmentBuilder.put("TERM_SESSION_ID", "42");
dirtyEnvironmentBuilder.put("BUCK_CLASSPATH", "/home/foo/bar");
dirtyEnvironmentBuilder.put("CLASSPATH", "/home/foo/bar");
dirtyEnvironmentBuilder.put("BUCK_BUILD_ID", "42");
dirtyEnvironmentBuilder.put("CMD_DURATION", "42");
ImmutableMap<String, String> dirtyEnvironment = dirtyEnvironmentBuilder.build();
assertTrue(EnvironmentFilter.filteredEnvironment(
dirtyEnvironment,
Platform.detect()).isEmpty());
}
@Test
public void testDirtyEnvironment() {
ImmutableMap.Builder<String, String> dirtyEnvironmentBuilder = ImmutableMap.builder();
dirtyEnvironmentBuilder.put("TERM_SESSION_ID", "42");
dirtyEnvironmentBuilder.put("TEST_ID", "42");
dirtyEnvironmentBuilder.put("TEST_ANOTHER_ID", "23");
dirtyEnvironmentBuilder.put("BUCK_BUILD_ID", "42");
ImmutableMap<String, String> dirtyEnvironment = dirtyEnvironmentBuilder.build();
ImmutableMap<String, String> filteredEnvironment =
EnvironmentFilter.filteredEnvironment(dirtyEnvironment, Platform.detect());
assertEquals(2, filteredEnvironment.size());
ImmutableMap.Builder<String, String> cleanEnvironmentBuilder = ImmutableMap.builder();
cleanEnvironmentBuilder.put("TEST_ID", "42");
cleanEnvironmentBuilder.put("TEST_ANOTHER_ID", "23");
assertEquals(cleanEnvironmentBuilder.build(), filteredEnvironment);
}
@Test
public void testWindowsPlatform() {
ImmutableMap.Builder<String, String> environmentBuilder = ImmutableMap.builder();
environmentBuilder.put("test_id", "42");
environmentBuilder.put("Test_Another_Id", "23");
environmentBuilder.put("TEST_PATH", "/home/foo/bar");
ImmutableMap<String, String> filteredEnvironment =
EnvironmentFilter.filteredEnvironment(environmentBuilder.build(), Platform.WINDOWS);
assertTrue(filteredEnvironment.containsKey("TEST_ID"));
assertTrue(filteredEnvironment.containsKey("TEST_ANOTHER_ID"));
assertTrue(filteredEnvironment.containsKey("TEST_PATH"));
}
@Test
public void testAllPlatform() {
ImmutableMap.Builder<String, String> environmentBuilder = ImmutableMap.builder();
environmentBuilder.put("test_id", "42");
environmentBuilder.put("Test_Another_Id", "23");
environmentBuilder.put("TEST_PATH", "/home/foo/bar");
ImmutableMap<String, String> filteredEnvironment =
EnvironmentFilter.filteredEnvironment(environmentBuilder.build(), Platform.LINUX);
assertTrue(filteredEnvironment.containsKey("test_id"));
assertTrue(filteredEnvironment.containsKey("Test_Another_Id"));
assertTrue(filteredEnvironment.containsKey("TEST_PATH"));
}
}