PY-25260: test added

This commit is contained in:
Ilya.Kazakevich
2018-08-29 23:36:35 +03:00
parent 50e1c91f8d
commit 4020d3b5f8
3 changed files with 35 additions and 4 deletions
@@ -0,0 +1 @@
Do not delete me, I keep folder
@@ -3,6 +3,7 @@ package com.jetbrains.env.python.testing;
import com.intellij.execution.configurations.RuntimeConfigurationWarning;
import com.intellij.execution.testframework.AbstractTestProxy;
import com.intellij.execution.testframework.sm.runner.ui.MockPrinter;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
@@ -10,6 +11,7 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.testFramework.fixtures.CodeInsightTestFixture;
import com.intellij.util.PathUtil;
import com.intellij.util.ThrowableRunnable;
import com.jetbrains.env.EnvTestTagsRequired;
import com.jetbrains.env.PyEnvTestCase;
import com.jetbrains.env.PyExecutionFixtureTestTask;
@@ -20,10 +22,7 @@ import com.jetbrains.python.PyNames;
import com.jetbrains.python.psi.PyFile;
import com.jetbrains.python.psi.PyFunction;
import com.jetbrains.python.run.targetBasedConfiguration.PyRunTargetVariant;
import com.jetbrains.python.testing.ConfigurationTarget;
import com.jetbrains.python.testing.PyTestConfiguration;
import com.jetbrains.python.testing.PyTestFactory;
import com.jetbrains.python.testing.PyTestFrameworkService;
import com.jetbrains.python.testing.*;
import com.jetbrains.python.tools.sdkTools.SdkCreationType;
import org.hamcrest.Matchers;
import org.jdom.Element;
@@ -358,6 +357,37 @@ public final class PythonPyTestingTest extends PyEnvTestCase {
new CreateConfigurationByFileTask<>(myFrameworkName, PyTestConfiguration.class));
}
@Test
@EnvTestTagsRequired(tags = "python3")
public void testResolveQName() {
runPythonTest(new CreateConfigurationTestTask.PyConfigurationCreationTask() {
@NotNull
@Override
protected PyAbstractTestFactory<PyTestConfiguration> createFactory() {
return PyTestFactory.INSTANCE;
}
@Override
public void runTestOn(@NotNull String sdkHome, @Nullable Sdk existingSdk) {
super.runTestOn(sdkHome, existingSdk);
myFixture.copyDirectoryToProject("testRunner/env/createConfigurationTest/configurationByContext/foo", "");
final PyAbstractTestConfiguration configuration = getConfiguration();
configuration.getTarget().setTargetType(PyRunTargetVariant.PYTHON);
configuration.getTarget().setTarget("test_foo");
configuration.setWorkingDirectory(myFixture.getTempDirPath());
ReadAction.run(new ThrowableRunnable<RuntimeException>() {
@Override
public void run() throws RuntimeException {
Assert.assertThat("Failed to resolve qname",
configuration.getTarget().asPsiElement(configuration),
Matchers.instanceOf(PyFile.class));
}
});
}
});
}
@Test
public void testMultipleCases() {
runPythonTest(