diff --git a/python/testData/requirements/inspections/PyProjectTomlUnsatisfiedRequirement/pyproject.toml b/python/testData/requirements/inspections/PyProjectTomlUnsatisfiedRequirement/pyproject.toml
new file mode 100644
index 000000000000..f7c8bf18abcb
--- /dev/null
+++ b/python/testData/requirements/inspections/PyProjectTomlUnsatisfiedRequirement/pyproject.toml
@@ -0,0 +1,7 @@
+[project]
+dependencies = [
+ "mypy"
+]
+
+[build-system]
+requires = ["poetry-core"]
\ No newline at end of file
diff --git a/python/testSrc/com/jetbrains/python/requirements/UnsatisfiedRequirementInspectionTest.kt b/python/testSrc/com/jetbrains/python/requirements/UnsatisfiedRequirementInspectionTest.kt
index 9f1cbcc4567c..19fa0a38aaab 100644
--- a/python/testSrc/com/jetbrains/python/requirements/UnsatisfiedRequirementInspectionTest.kt
+++ b/python/testSrc/com/jetbrains/python/requirements/UnsatisfiedRequirementInspectionTest.kt
@@ -2,14 +2,28 @@
package com.jetbrains.python.requirements
import com.intellij.codeInspection.ex.InspectionProfileImpl
+import com.intellij.lang.annotation.HighlightSeverity
+import com.intellij.testFramework.TestDataPath
import com.jetbrains.python.sdk.pythonSdk
+@TestDataPath("\$CONTENT_ROOT/../testData/requirements/inspections")
class UnsatisfiedRequirementInspectionTest : PythonDependencyTestCase() {
fun testUnsatisfiedRequirement() {
doMultiFileTest("requirements.txt")
assertContainsElements(myFixture.availableIntentions.map { it.text }, "Install package mypy", "Install all missing packages", "Run 'pip install -e .'")
}
+ fun testPyProjectTomlUnsatisfiedRequirement() {
+ doMultiFileTest("pyproject.toml")
+ val warnings = myFixture.doHighlighting(HighlightSeverity.WARNING)
+
+ listOf("mypy", "poetry-core").forEach { unsatisfiedPackage ->
+ val warning = warnings.single { it.text == unsatisfiedPackage }
+ assertEquals("Package $unsatisfiedPackage is not installed", warning.description)
+ }
+ }
+
+
fun testEmptyRequirementsFile() {
doMultiFileTest("requirements.txt")
assertContainsElements(myFixture.availableIntentions.map { it.text }, "Add imported packages to requirements…")
@@ -19,7 +33,7 @@ class UnsatisfiedRequirementInspectionTest : PythonDependencyTestCase() {
myFixture.copyDirectoryToProject(getTestName(false), "")
myFixture.configureFromTempProjectFile(filename)
myFixture.enableInspections(UnsatisfiedRequirementInspection::class.java)
- myFixture.checkHighlighting(true, false, true)
+ myFixture.checkHighlighting(true, false, true, false)
}
override fun setUp() {