package jenkins.plugins.nodejs.configfiles; import static org.junit.Assert.*; import java.util.Arrays; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; public class NPMConfigValidationTest { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void test_new_config() { String id = "test_id"; NPMConfig config = new NPMConfig(id, "", "", "", "myprovider", null); assertEquals(id, config.id); assertNull(config.name); assertNull(config.comment); assertNull(config.content); assertNotNull(config.getRegistries()); } @Test public void test_too_many_global_registries() throws Exception { NPMRegistry privateRegistry = new NPMRegistry("https://private.organization.com/", null, null); NPMRegistry officalRegistry = new NPMRegistry("https://registry.npmjs.org/", null, null); thrown.expect(VerifyConfigProviderException.class); NPMConfig config = new NPMConfig("too_many_registry", null, null, null, "myprovider", Arrays.asList(privateRegistry, officalRegistry)); config.doVerify(); } @Test public void test_empty_URL() throws Exception { NPMRegistry registry = new NPMRegistry("", null, null); thrown.expect(VerifyConfigProviderException.class); NPMConfig config = new NPMConfig("empty_URL", null, null, null, "myprovider", Arrays.asList(registry)); config.doVerify(); } @Test public void test_no_exception_if_URL_has_variable() throws Exception { NPMRegistry registry = new NPMRegistry("${URL}", null, null); NPMConfig config = new NPMConfig("no_exception_if_URL_has_variable", null, null, null, "myprovider", Arrays.asList(registry)); config.doVerify(); } }