use of com.google.idea.blaze.base.model.MockBlazeProjectDataBuilder in project intellij by bazelbuild.
the class BlazeKotlinRunConfigureProducerTest method testMainMethodIsRunnable.
@Test
public void testMainMethodIsRunnable() {
MockBlazeProjectDataBuilder builder = MockBlazeProjectDataBuilder.builder(workspaceRoot);
builder.setTargetMap(TargetMapBuilder.builder().addTarget(TargetIdeInfo.builder().setKind("kt_jvm_binary").setJavaInfo(JavaIdeInfo.builder().setMainClass("com.google.binary.MainKt")).setLabel("//com/google/binary:main_kt").addSource(sourceRoot("com/google/binary/Main.kt")).build()).addTarget(TargetIdeInfo.builder().setKind("kt_jvm_binary").setJavaInfo(JavaIdeInfo.builder().setMainClass("com.google.binary.Main")).setLabel("//com/google/binary:just_main").addSource(sourceRoot("com/google/binary/JustMain.kt")).build()).build());
registerProjectService(BlazeProjectDataManager.class, new MockBlazeProjectDataManager(builder.build()));
PsiFile kotlinFile = createAndIndexFile(WorkspacePath.createIfValid("com/google/binary/Main.kt"), "package com.google.binary", "fun main(args: Array<String>) {}");
RunConfiguration config = createConfigurationFromLocation(kotlinFile);
assertThat(config).isInstanceOf(BlazeRunConfiguration.class);
}
use of com.google.idea.blaze.base.model.MockBlazeProjectDataBuilder in project intellij by bazelbuild.
the class BazelPyImportResolverStrategyTest method testImportQuickFix.
@Test
public void testImportQuickFix() {
MockBlazeProjectDataBuilder builder = MockBlazeProjectDataBuilder.builder(workspaceRoot);
builder.setTargetMap(TargetMapBuilder.builder().addTarget(TargetIdeInfo.builder().setLabel("//foo:foo").setBuildFile(source("foo/BUILD")).setKind("py_library").addSource(source("foo/lib/bar.py"))).build());
registerProjectService(BlazeProjectDataManager.class, new MockBlazeProjectDataManager(builder.build()));
workspace.createPsiFile(WorkspacePath.createIfValid("foo/lib/bar.py"));
PsiFile source = workspace.createPsiFile(WorkspacePath.createIfValid("baz/source.py"), "bar");
PyReferenceExpression ref = PsiUtils.findFirstChildOfClassRecursive(source, PyReferenceExpression.class);
assertThat(ref).isNotNull();
AutoImportQuickFix quickFix = getImportQuickFix(ref);
assertThat(quickFix.isAvailable()).isTrue();
assertThat(quickFix.getText()).isEqualTo("Import 'foo.lib.bar'");
quickFix.applyFix();
assertThat(source.getText()).isEqualTo(Joiner.on('\n').join("from foo.lib import bar", "", "bar"));
}
use of com.google.idea.blaze.base.model.MockBlazeProjectDataBuilder in project intellij by bazelbuild.
the class BlazePyBinaryConfigurationProducerTest method testProducedFromPyFile.
@Test
public void testProducedFromPyFile() {
PsiFile pyFile = createAndIndexFile(new WorkspacePath("py/bin/main.py"), "def main():", " return", "if __name__ == '__main__':", " main()");
workspace.createFile(new WorkspacePath("py/bin/BUILD"), "py_binary(name = 'main')");
MockBlazeProjectDataBuilder builder = MockBlazeProjectDataBuilder.builder(workspaceRoot);
builder.setTargetMap(TargetMapBuilder.builder().addTarget(TargetIdeInfo.builder().setKind("py_binary").setLabel("//py/bin:main").addSource(sourceRoot("py/bin/main.py")).build()).build());
registerProjectService(BlazeProjectDataManager.class, new MockBlazeProjectDataManager(builder.build()));
ConfigurationContext context = createContextFromPsi(pyFile);
List<ConfigurationFromContext> configurations = context.getConfigurationsFromContext();
assertThat(configurations).hasSize(1);
ConfigurationFromContext fromContext = configurations.get(0);
assertThat(fromContext.isProducedBy(BlazePyBinaryConfigurationProducer.class)).isTrue();
assertThat(fromContext.getConfiguration()).isInstanceOf(BlazeCommandRunConfiguration.class);
BlazeCommandRunConfiguration config = (BlazeCommandRunConfiguration) fromContext.getConfiguration();
assertThat(config.getTarget()).isEqualTo(TargetExpression.fromStringSafe("//py/bin:main"));
assertThat(getCommandType(config)).isEqualTo(BlazeCommandName.RUN);
}
use of com.google.idea.blaze.base.model.MockBlazeProjectDataBuilder in project intellij by bazelbuild.
the class BlazePyTestConfigurationProducerTest method testProducedFromPyFile.
@Test
public void testProducedFromPyFile() {
PsiFile pyFile = createAndIndexFile(new WorkspacePath("py/test/unittest.py"), "class UnitTest(googletest.TestCase):", " def testSomething():", " return");
MockBlazeProjectDataBuilder builder = MockBlazeProjectDataBuilder.builder(workspaceRoot);
builder.setTargetMap(TargetMapBuilder.builder().addTarget(TargetIdeInfo.builder().setKind("py_test").setLabel("//py/test:unittests").addSource(sourceRoot("py/test/unittest.py")).build()).build());
registerProjectService(BlazeProjectDataManager.class, new MockBlazeProjectDataManager(builder.build()));
ConfigurationContext context = createContextFromPsi(pyFile);
List<ConfigurationFromContext> configurations = context.getConfigurationsFromContext();
assertThat(configurations).hasSize(1);
ConfigurationFromContext fromContext = configurations.get(0);
assertThat(fromContext.isProducedBy(BlazePyTestConfigurationProducer.class)).isTrue();
assertThat(fromContext.getConfiguration()).isInstanceOf(BlazeCommandRunConfiguration.class);
BlazeCommandRunConfiguration config = (BlazeCommandRunConfiguration) fromContext.getConfiguration();
assertThat(config.getTarget()).isEqualTo(TargetExpression.fromStringSafe("//py/test:unittests"));
assertThat(getTestFilterContents(config)).isNull();
assertThat(getCommandType(config)).isEqualTo(BlazeCommandName.TEST);
}
use of com.google.idea.blaze.base.model.MockBlazeProjectDataBuilder in project intellij by bazelbuild.
the class BlazeGoTestConfigurationProducerTest method testProducedFromTestCase.
@Test
public void testProducedFromTestCase() {
PsiFile goFile = createAndIndexFile(new WorkspacePath("foo/bar/foo_test.go"), "package foo", "import \"testing\"", "func TestFoo(t *testing.T) {}");
MockBlazeProjectDataBuilder builder = MockBlazeProjectDataBuilder.builder(workspaceRoot);
builder.setTargetMap(TargetMapBuilder.builder().addTarget(TargetIdeInfo.builder().setKind("go_test").setLabel("//foo/bar:foo_test").addSource(sourceRoot("foo/bar/foo_test.go")).build()).build());
registerProjectService(BlazeProjectDataManager.class, new MockBlazeProjectDataManager(builder.build()));
List<GoFunctionDeclaration> functions = PsiUtils.findAllChildrenOfClassRecursive(goFile, GoFunctionDeclaration.class);
assertThat(functions).hasSize(1);
GoFunctionDeclaration function = functions.get(0);
ConfigurationContext context = createContextFromPsi(function);
List<ConfigurationFromContext> configurations = context.getConfigurationsFromContext();
assertThat(configurations).isNotNull();
assertThat(configurations).hasSize(1);
ConfigurationFromContext fromContext = configurations.get(0);
assertThat(fromContext.isProducedBy(BlazeGoTestConfigurationProducer.class)).isTrue();
assertThat(fromContext.getConfiguration()).isInstanceOf(BlazeCommandRunConfiguration.class);
BlazeCommandRunConfiguration config = (BlazeCommandRunConfiguration) fromContext.getConfiguration();
assertThat(config.getTarget()).isEqualTo(TargetExpression.fromStringSafe("//foo/bar:foo_test"));
assertThat(getTestFilterContents(config)).isEqualTo("--test_filter=^TestFoo$");
assertThat(getCommandType(config)).isEqualTo(BlazeCommandName.TEST);
}
Aggregations