package org.netbeans.gradle.project.java.query;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import org.junit.ClassRule;
import org.junit.Test;
import org.netbeans.api.java.queries.BinaryForSourceQuery;
import org.netbeans.gradle.project.util.SafeTmpFolder;
import org.netbeans.gradle.project.util.TestBinaryUtils;
import org.netbeans.spi.java.queries.BinaryForSourceQueryImplementation;
import org.openide.util.Utilities;
import static org.junit.Assert.*;
import static org.netbeans.gradle.project.query.TestSourceQueryUtils.*;
public class AutoJavaBinaryForSourceQueryTest {
@ClassRule
public static final SafeTmpFolder TMP_DIR_ROOT = new SafeTmpFolder();
@Test
public void testFindBinaryOfZipSource() throws IOException {
BinaryForSourceQueryImplementation query = new AutoJavaBinaryForSourceQuery();
File rootDir = TMP_DIR_ROOT.newFolder();
File jarPath = new File(rootDir, "myapp.jar");
TestBinaryUtils.createTestJar(jarPath);
File sourcesPath = new File(rootDir, "myapp-sources.zip");
TestBinaryUtils.createTestZip(sourcesPath);
URL sourceUrl = Utilities.toURI(sourcesPath).toURL();
BinaryForSourceQuery.Result result = query.findBinaryRoots(sourceUrl);
assertNotNull("result1", result);
assertEquals("sourcesPath", jarPath, expectedSingleFile(result));
}
@Test
public void testNoBinary() throws IOException {
BinaryForSourceQueryImplementation query = new AutoJavaBinaryForSourceQuery();
File rootDir = TMP_DIR_ROOT.newFolder();
File sourcesPath = new File(rootDir, "myapp-sources.zip");
TestBinaryUtils.createTestZip(sourcesPath);
URL sourceUrl = Utilities.toURI(sourcesPath).toURL();
assertNull("result1", query.findBinaryRoots(sourceUrl));
}
}