Search in sources :

Example 1 with Scan

use of com.buschmais.jqassistant.core.scanner.api.configuration.Scan in project jqa-core-framework by jQAssistant.

the class ConfigurationLoaderImplTest method loadFromFiles.

@Test
void loadFromFiles() {
    Configuration configuration = configurationLoader.load(Configuration.class);
    assertThat(configuration).isNotNull();
    List<Plugin> plugins = configuration.plugins();
    assertThat(plugins).isNotNull().hasSize(2);
    Scan scan = configuration.scan();
    assertThat(scan).isNotNull();
    assertThat(scan.continueOnError()).isEqualTo(true);
}
Also used : Configuration(com.buschmais.jqassistant.core.configuration.api.Configuration) Scan(com.buschmais.jqassistant.core.scanner.api.configuration.Scan) Plugin(com.buschmais.jqassistant.core.plugin.api.configuration.Plugin) Test(org.junit.jupiter.api.Test)

Example 2 with Scan

use of com.buschmais.jqassistant.core.scanner.api.configuration.Scan in project jqa-core-framework by jQAssistant.

the class ScannerImplTest method pluginPipeline.

/**
 * Verifies correct execution of the pipeline for dependent and nested scanner
 * plugins:
 *
 * <ul>
 * <li>A {@link TestItem} is scanned initially by
 * {@link TestItemScannerPlugin}.</li>
 * <li>The created {@link TestItemDescriptor} is then passed to the
 * {@link DependentTestItemScannerPlugin}.</li>
 * <li>The {@link DependentTestItemScannerPlugin} triggers a separate scan using
 * the {@link TestScope} which activates the
 * {@link NestedTestItemScannerPlugin}.</li>
 * </ul>
 */
@Test
void pluginPipeline() {
    Store store = mock(Store.class);
    ScannerContext scannerContext = new ScannerContextImpl(store, OUTPUT_DIRECTORY);
    when(store.create(any(Class.class))).thenAnswer((Answer<Descriptor>) invocation -> {
        Class<? extends Descriptor> descriptorType = (Class<? extends Descriptor>) invocation.getArguments()[0];
        return mock(descriptorType);
    });
    when(store.addDescriptorType(any(Descriptor.class), any(Class.class))).thenAnswer((Answer<Descriptor>) invocation -> {
        Class<? extends Descriptor> descriptorType = (Class<? extends Descriptor>) invocation.getArguments()[1];
        return mock(descriptorType);
    });
    Map<String, ScannerPlugin<?, ?>> scannerPlugins = new HashMap<>();
    scannerPlugins.put("TestScanner", new TestItemScannerPlugin());
    scannerPlugins.put("DependentTestScanner", new DependentTestItemScannerPlugin());
    scannerPlugins.put("NestedTestScanner", new NestedTestItemScannerPlugin());
    doReturn(scannerPlugins).when(scannerPluginRepository).getScannerPlugins(configuration, scannerContext);
    Scanner scanner = new ScannerImpl(configuration, scannerContext, scannerPluginRepository);
    Descriptor descriptor = scanner.scan(new TestItem(), "/", DefaultScope.NONE);
    assertThat(descriptor, instanceOf(DependentTestItemDescriptor.class));
    verify(store).create(eq(TestItemDescriptor.class));
    verify(store).addDescriptorType(any(TestItemDescriptor.class), eq(NestedTestItemDescriptor.class));
    verify(store).addDescriptorType(any(NestedTestItemDescriptor.class), eq(DependentTestItemDescriptor.class));
}
Also used : Strictness(org.mockito.quality.Strictness) BeforeEach(org.junit.jupiter.api.BeforeEach) CoreMatchers(org.hamcrest.CoreMatchers) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) Properties(java.util.Properties) Scan(com.buschmais.jqassistant.core.scanner.api.configuration.Scan) MockitoSettings(org.mockito.junit.jupiter.MockitoSettings) ScannerPluginRepository(com.buschmais.jqassistant.core.scanner.spi.ScannerPluginRepository) Mock(org.mockito.Mock) IOException(java.io.IOException) HashMap(java.util.HashMap) File(java.io.File) Store(com.buschmais.jqassistant.core.store.api.Store) Test(org.junit.jupiter.api.Test) Mockito(org.mockito.Mockito) Answer(org.mockito.stubbing.Answer) com.buschmais.jqassistant.core.scanner.api(com.buschmais.jqassistant.core.scanner.api) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) Map(java.util.Map) Descriptor(com.buschmais.jqassistant.core.store.api.model.Descriptor) Assert.fail(org.junit.Assert.fail) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Mockito.any(org.mockito.Mockito.any) HashMap(java.util.HashMap) Store(com.buschmais.jqassistant.core.store.api.Store) Descriptor(com.buschmais.jqassistant.core.store.api.model.Descriptor) Test(org.junit.jupiter.api.Test)

Aggregations

Scan (com.buschmais.jqassistant.core.scanner.api.configuration.Scan)2 Test (org.junit.jupiter.api.Test)2 Configuration (com.buschmais.jqassistant.core.configuration.api.Configuration)1 Plugin (com.buschmais.jqassistant.core.plugin.api.configuration.Plugin)1 com.buschmais.jqassistant.core.scanner.api (com.buschmais.jqassistant.core.scanner.api)1 ScannerPluginRepository (com.buschmais.jqassistant.core.scanner.spi.ScannerPluginRepository)1 Store (com.buschmais.jqassistant.core.store.api.Store)1 Descriptor (com.buschmais.jqassistant.core.store.api.model.Descriptor)1 File (java.io.File)1 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Properties (java.util.Properties)1 CoreMatchers (org.hamcrest.CoreMatchers)1 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)1 Assert.fail (org.junit.Assert.fail)1 BeforeEach (org.junit.jupiter.api.BeforeEach)1 ExtendWith (org.junit.jupiter.api.extension.ExtendWith)1 Mock (org.mockito.Mock)1 Mockito (org.mockito.Mockito)1