blob: 8e3b75dd56a0102ec4c2ec9549f48ec05262810c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
package com.jetbrains.env.python;
import com.google.common.collect.ImmutableSet;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.PsiTestUtil;
import com.jetbrains.env.PyEnvTestCase;
import com.jetbrains.env.PyExecutionFixtureTestTask;
import com.jetbrains.python.PythonTestUtil;
import com.jetbrains.python.inspections.PyPackageRequirementsInspection;
import com.jetbrains.python.sdkTools.SdkCreationType;
import org.jetbrains.annotations.NotNull;
import java.util.Set;
/**
* @author vlan
*/
public class PyPackageRequirementsInspectionTest extends PyEnvTestCase {
public static final ImmutableSet<String> TAGS = ImmutableSet.of("requirements");
public void testPartiallySatisfiedRequirementsTxt() {
doTest("test1.py");
}
public void testPartiallySatisfiedSetupPy() {
doTest("test1.py");
}
public void testImportsNotInRequirementsTxt() {
doTest("test1.py");
}
public void testDuplicateInstallAndTests() {
doTest("test1.py");
}
private void doTest(@NotNull final String filename) {
final String dir = getTestName(false);
runPythonTest(new PyExecutionFixtureTestTask() {
@Override
protected String getTestDataPath() {
return PythonTestUtil.getTestDataPath() + "/inspections/PyPackageRequirementsInspection";
}
@Override
public void runTestOn(String sdkHome) throws Exception {
myFixture.enableInspections(PyPackageRequirementsInspection.class);
final Sdk sdk = createTempSdk(sdkHome, SdkCreationType.SDK_PACKAGES_ONLY);
final String perSdkDir = Integer.toHexString(System.identityHashCode(sdk));
final VirtualFile root = myFixture.copyDirectoryToProject(dir, perSdkDir);
assertNotNull(root);
final Module module = myFixture.getModule();
setupModuleSdk(module, sdk, root);
try {
final VirtualFile file = root.findFileByRelativePath(filename);
assertNotNull(file);
edt(new Runnable() {
@Override
public void run() {
myFixture.testHighlighting(true, true, true, file);
}
});
}
finally {
PsiTestUtil.removeAllRoots(module, sdk);
}
}
@Override
public Set<String> getTags() {
return TAGS;
}
});
}
private static void setupModuleSdk(@NotNull Module module, @NotNull Sdk sdk, @NotNull VirtualFile root) {
ModuleRootModificationUtil.setModuleSdk(module, sdk);
PsiTestUtil.addContentRoot(module, root);
}
}
|