My fork of airsonic with experimental fixes and improvements. See branch "custom"
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
airsonic-custom/airsonic-main/src/test/java/org/airsonic/player/service/metadata/MetaDataFactoryTestCase.java

75 lines
2.4 KiB

package org.airsonic.player.service.metadata;
import org.airsonic.player.service.SettingsService;
import org.airsonic.player.util.HomeRule;
import org.junit.*;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
import java.io.File;
import java.io.IOException;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertThat;
@SpringBootTest
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class MetaDataFactoryTestCase {
@ClassRule
public static final SpringClassRule classRule = new SpringClassRule() {
HomeRule homeRule = new HomeRule();
@Override
public Statement apply(Statement base, Description description) {
Statement spring = super.apply(base, description);
return homeRule.apply(spring, description);
}
};
@ClassRule
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
private static File someMp3;
private static File someFlv;
private static File someJunk;
@BeforeClass
public static void createTestFiles() throws IOException {
someMp3 = temporaryFolder.newFile("some.mp3");
someFlv = temporaryFolder.newFile("some.flv");
someJunk = temporaryFolder.newFile("some.junk");
}
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
@Autowired
MetaDataParserFactory metaDataParserFactory;
@Autowired
SettingsService settingsService;
@Test
public void testorder() {
MetaDataParser parser;
settingsService.setVideoFileTypes("mp3 flv");
parser = metaDataParserFactory.getParser(someMp3);
assertThat(parser, instanceOf(JaudiotaggerParser.class));
parser = metaDataParserFactory.getParser(someFlv);
assertThat(parser, instanceOf(FFmpegParser.class));
parser = metaDataParserFactory.getParser(someJunk);
assertThat(parser, instanceOf(DefaultMetaDataParser.class));
}
}