mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-03 14:24:15 +01:00
54 lines
1.9 KiB
Java
54 lines
1.9 KiB
Java
package cc.arduino.contributions;
|
|
|
|
import cc.arduino.contributions.libraries.LibrariesIndex;
|
|
import cc.arduino.utils.MultiStepProgress;
|
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.module.mrbean.MrBeanModule;
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import processing.app.helpers.FileUtils;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.InputStream;
|
|
import java.net.URL;
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
public class GzippedJsonDownloaderTest {
|
|
|
|
private File tempFolder;
|
|
private File tempFile;
|
|
private DownloadableContributionsDownloader downloader;
|
|
|
|
@Before
|
|
public void setUp() throws Exception {
|
|
tempFolder = FileUtils.createTempFolder();
|
|
tempFile = File.createTempFile("test", ".json");
|
|
downloader = new DownloadableContributionsDownloader(tempFolder);
|
|
}
|
|
|
|
@After
|
|
public void tearDown() throws Exception {
|
|
FileUtils.recursiveDelete(tempFolder);
|
|
FileUtils.recursiveDelete(tempFile);
|
|
}
|
|
|
|
@Test
|
|
public void testJsonDownload() throws Exception {
|
|
new GZippedJsonDownloader(downloader, new URL("http://downloads.arduino.cc/libraries/library_index.json"), new URL("http://downloads.arduino.cc/libraries/library_index.json.gz")).download(tempFile, new MultiStepProgress(1), "", new NoopProgressListener());
|
|
|
|
InputStream indexIn = new FileInputStream(tempFile);
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
mapper.registerModule(new MrBeanModule());
|
|
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
|
|
mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true);
|
|
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
LibrariesIndex librariesIndex = mapper.readValue(indexIn, LibrariesIndex.class);
|
|
|
|
assertTrue(librariesIndex != null);
|
|
}
|
|
}
|