@Inject public LoadArtifactCommand(ArtifactClient artifactClient, CLIConfig cliConfig, FilePathResolver resolver) { super(cliConfig); this.artifactClient = artifactClient; this.resolver = resolver; this.configReader = new ArtifactConfigReader(); }
configReader.read(artifactId.getNamespace(), configFile) : new ArtifactConfig();
configReader.read(artifactId.getNamespace(), configFile) : new ArtifactConfig();
@Test(expected = InvalidArtifactException.class) public void testMalformedParentArtifact() throws IOException, InvalidArtifactException { File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write("{ \"parents\": [ \"r2:[1.0.0,2.0.0) \" ] }"); } configReader.read(Id.Namespace.SYSTEM, configFile); }
@Inject public LoadArtifactCommand(ArtifactClient artifactClient, CLIConfig cliConfig, FilePathResolver resolver) { super(cliConfig); this.artifactClient = artifactClient; this.resolver = resolver; this.configReader = new ArtifactConfigReader(); }
@Test(expected = InvalidArtifactException.class) public void testBadJsonSyntax() throws IOException, InvalidArtifactException { File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write("I am invalid."); } configReader.read(Id.Namespace.SYSTEM, configFile); }
this.configReader = new ArtifactConfigReader(); this.metadataPublisher = metadataPublisher; this.impersonator = impersonator;
@Test(expected = InvalidArtifactException.class) public void testBadParentArtifactRange() throws IOException, InvalidArtifactException { File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write("{ \"parents\": [ \"r2(2.0.0,1.0.0) \" ] }"); } configReader.read(Id.Namespace.SYSTEM, configFile); } }
@VisibleForTesting @Inject public DefaultArtifactRepository(CConfiguration cConf, ArtifactStore artifactStore, MetadataStore metadataStore, ProgramRunnerFactory programRunnerFactory, Impersonator impersonator) { this.artifactStore = artifactStore; this.artifactClassLoaderFactory = new ArtifactClassLoaderFactory(cConf, programRunnerFactory); this.artifactInspector = new ArtifactInspector(cConf, artifactClassLoaderFactory); this.systemArtifactDirs = new HashSet<>(); String systemArtifactsDir = cConf.get(Constants.AppFabric.SYSTEM_ARTIFACTS_DIR); if (!Strings.isNullOrEmpty(systemArtifactsDir)) { String sparkDirStr = SparkCompatReader.get(cConf).getCompat(); for (String dir : systemArtifactsDir.split(";")) { File file = new File(dir); if (!file.isDirectory()) { LOG.warn("Ignoring {} because it is not a directory.", file); continue; } systemArtifactDirs.add(file); // Also look in the relevant spark compat directory for spark version specific artifacts. File sparkDir = new File(file, sparkDirStr); if (file.isDirectory()) { systemArtifactDirs.add(sparkDir); } } } this.configReader = new ArtifactConfigReader(); this.metadataStore = metadataStore; this.impersonator = impersonator; }
@Test(expected = InvalidArtifactException.class) public void testBadParentArtifactName() throws IOException, InvalidArtifactException { File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write("{ \"parents\": [ \"r!2[1.0.0,2.0.0) \" ] }"); } configReader.read(Id.Namespace.SYSTEM, configFile); }
@Test(expected = InvalidArtifactException.class) public void testMissingPluginFields() throws IOException, InvalidArtifactException { File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write("{ \"plugins\": [ { \"name\": \"something\" } ] }"); } configReader.read(Id.Namespace.SYSTEM, configFile); }
} else { File configFile = resolver.resolvePathToFile(configPath); ArtifactConfig artifactConfig = configReader.read(Id.Namespace.fromEntityId(namespace), configFile); artifactClient.add(namespace, artifactId.getEntityName(), () -> new FileInputStream(artifactFile), artifactId.getVersion(),
} else { File configFile = resolver.resolvePathToFile(configPath); ArtifactConfig artifactConfig = configReader.read(Id.Namespace.fromEntityId(namespace), configFile); artifactClient.add(namespace, artifactId.getEntityName(), () -> new FileInputStream(artifactFile), artifactId.getVersion(),
@Test(expected = InvalidArtifactException.class) public void testInvalidParentNamespace() throws IOException, InvalidArtifactException { ArtifactConfig badConfig = new ArtifactConfig( ImmutableSet.of( new ArtifactRange(NamespaceId.DEFAULT.getNamespace(), "b", new ArtifactVersion("1.0.0"), new ArtifactVersion("2.0.0")) ), ImmutableSet.<PluginClass>of(), ImmutableMap.<String, String>of()); File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write(badConfig.toString()); } configReader.read(Id.Namespace.SYSTEM, configFile); }
@Test public void testRead() throws IOException, InvalidArtifactException { ArtifactConfig validConfig = new ArtifactConfig( ImmutableSet.of( new ArtifactRange(NamespaceId.SYSTEM.getNamespace(), "a", new ArtifactVersion("1.0.0"), new ArtifactVersion("2.0.0")), new ArtifactRange(NamespaceId.DEFAULT.getNamespace(), "b", new ArtifactVersion("1.0.0"), new ArtifactVersion("2.0.0")) ), ImmutableSet.of( new PluginClass("type", "name", "desc", "classname", null, ImmutableMap.of( "x", new PluginPropertyField("x", "some field", "int", true, false), "y", new PluginPropertyField("y", "some other field", "string", false, false) )) ), ImmutableMap.of( "k1", "v1", "k2", "v2" ) ); File configFile = new File(tmpFolder.newFolder(), "r1-1.0.0.json"); try (BufferedWriter writer = Files.newWriter(configFile, Charsets.UTF_8)) { writer.write(validConfig.toString()); } Assert.assertEquals(validConfig, configReader.read(Id.Namespace.DEFAULT, configFile)); }