示例#1
0
def test_strange_fadesinfo(logged):
    parsed = parsing._parse_content(
        io.StringIO("""
        import foo   # fades  broken::whatever
    """))
    logged.assert_warning("Not understood fades repository", "broken")
    assert parsed == {}
示例#2
0
def test_strange_fadesinfo2(logged):
    parsed = parsing._parse_content(
        io.StringIO("""
        import foo   # fadesbroken
    """))
    logged.assert_warning("Not understood fades info", "fadesbroken")
    assert parsed == {}
示例#3
0
 def test_version_different(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades !=3.5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo !=3.5')]
     })
示例#4
0
 def test_version_same_one_space_before(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades == 3.5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo == 3.5')]
     })
示例#5
0
 def test_vcs_implicit(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades   http://www.whatever/project
     """))
     self.assertDictEqual(parsed, {
         REPO_VCS: [parsing.VCSDependency('http://www.whatever/project')]
     })
示例#6
0
 def test_vcs_implicit(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades   http://www.whatever/project
     """))
     self.assertDictEqual(parsed, {
         REPO_VCS: [parsing.VCSDependency('http://www.whatever/project')]
     })
示例#7
0
 def test_projectname_version_space(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades othername <5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername <5')]
     })
示例#8
0
 def test_projectname_version_explicit(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades pypi::othername >= 3
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername >= 3')]
     })
示例#9
0
 def test_strange_import(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo bar import :(   # fades
     """))
     self.assertLoggedDebug("Not understood import info",
                            "['from', 'foo', 'bar', 'import', ':(']")
     self.assertDictEqual(parsed, {})
示例#10
0
 def test_projectname_version_explicit(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades pypi::othername >= 3
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername >= 3')]
     })
示例#11
0
 def test_allow_other_comments_reverse_default(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo import * # fades # NOQA
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#12
0
 def test_from_import_complex(self):
     parsed = parsing._parse_content(io.StringIO("""
         from baz.foo import bar   # fades
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('baz')]
     })
示例#13
0
 def test_import(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo.bar   # fades
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#14
0
def test_commented_line(logged):
    parsed = parsing._parse_content(
        io.StringIO("""
        #import foo   # fades
    """))
    assert parsed == {}
    logged.assert_not_warning("Not understood fades")
示例#15
0
 def test_projectname_pkgnamedb_version_othername(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bs4   # fades othername >=5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername >=5')]
     })
示例#16
0
 def test_from_import_simple(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo import bar   # fades
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#17
0
 def test_comma_separated_import(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo import bar, baz, qux   # fades
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#18
0
 def test_vcs_explicit(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades vcs::superurl
     """))
     self.assertDictEqual(parsed, {
         REPO_VCS: [parsing.VCSDependency('superurl')]
     })
示例#19
0
 def test_from_import_complex(self):
     parsed = parsing._parse_content(io.StringIO("""
         from baz.foo import bar   # fades.pypi
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('baz')]
     })
示例#20
0
 def test_simple_default(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         import time
         import foo    # fades
     """))
     self.assertDictEqual(parsed, {REPO_PYPI: [get_req('foo')]})
示例#21
0
 def test_projectname_pkgnamedb_othername_default(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bs4   # fades othername
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername')]
     })
示例#22
0
def test_double():
    parsed = parsing._parse_content(
        io.StringIO("""
        import time  # fades
        import foo   # fades
    """))
    assert parsed == {REPO_PYPI: get_reqs('time') + get_reqs('foo')}
示例#23
0
 def test_projectname_pkgnamedb_version_othername(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bs4   # fades.pypi othername >=5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername >=5')]
     })
示例#24
0
def test_strange_fadesinfo2(logs):
    parsed = parsing._parse_content(
        io.StringIO("""
        import foo   # fadesbroken
    """))
    assert "Not understood fades info: 'fadesbroken'" in logs.warning
    assert parsed == {}
示例#25
0
 def test_commented_line(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         #import foo   # fades.pypi
     """))
     self.assertDictEqual(parsed, {})
     self.assertNotLoggedWarning("Not understood fades")
示例#26
0
 def test_projectname_version_space(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades.pypi othername <5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('othername <5')]
     })
示例#27
0
 def test_projectname_pkgnamedb(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bs4   # fades.pypi
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('beautifulsoup4')]
     })
示例#28
0
 def test_strange_import(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo bar import :(   # fades.pypi
     """))
     self.assertLoggedWarning("Not understood import info",
                              "['from', 'foo', 'bar', 'import', ':(']")
     self.assertDictEqual(parsed, {})
示例#29
0
 def test_projectname_pkgnamedb_version(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         import bs4   # fades.pypi >=5
     """))
     self.assertDictEqual(parsed,
                          {REPO_PYPI: [get_req('beautifulsoup4 >=5')]})
示例#30
0
 def test_version_same_or_greater_two_space_after(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades>=  2
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo >= 2')]
     })
示例#31
0
 def test_allow_other_comments_reverse_default(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo import * # fades # NOQA
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#32
0
 def test_other_lines_with_fades_string(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         import bar # fades.pypi
         print("screen fades to black")
     """))
     self.assertDictEqual(parsed, {REPO_PYPI: [get_req('bar')]})
示例#33
0
 def test_import(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo.bar   # fades.pypi
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#34
0
 def test_version_same_or_greater_two_space_after(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades.pypi>=  2
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo >= 2')]
     })
示例#35
0
 def test_version_greater_one_space_before(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades.pypi> 2
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo > 2')]
     })
示例#36
0
 def test_vcs_explicit(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         import foo    # fades vcs::superurl
     """))
     self.assertDictEqual(parsed,
                          {REPO_VCS: [parsing.VCSDependency('superurl')]})
示例#37
0
 def test_comma_separated_import(self):
     parsed = parsing._parse_content(io.StringIO("""
         from foo import bar, baz, qux   # fades.pypi
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo')]
     })
示例#38
0
def test_other_lines_with_fades_string():
    parsed = parsing._parse_content(
        io.StringIO("""
        import bar # fades
        print("screen fades to black")
    """))
    assert parsed == {REPO_PYPI: get_reqs('bar')}
示例#39
0
def test_strange_fadesinfo(logs):
    parsed = parsing._parse_content(
        io.StringIO("""
        import foo   # fades  broken::whatever
    """))
    assert "Not understood fades repository: 'broken'" in logs.warning
    assert parsed == {}
示例#40
0
def test_simple_default():
    parsed = parsing._parse_content(
        io.StringIO("""
        import time
        import foo    # fades
    """))
    assert parsed == {REPO_PYPI: get_reqs('foo')}
示例#41
0
 def test_version_greater_no_space_default(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades>2
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo >2')]
     })
示例#42
0
 def test_version_different(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades.pypi !=3.5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo !=3.5')]
     })
示例#43
0
 def test_version_same_no_spaces(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades.pypi==3.5
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo ==3.5')]
     })
示例#44
0
def test_commented_line(logs):
    parsed = parsing._parse_content(
        io.StringIO("""
        #import foo   # fades
    """))
    assert parsed == {}
    assert "Not understood fades" not in logs.warning
示例#45
0
def test_fades_and_hashtag_mentioned_in_code_mixed_with_imports():
    parsed = parsing._parse_content(
        io.StringIO("""import requests  # fades

      'http://fades.readthedocs.io/en/release-7-0/readme.html#how-to-use-it'
    """))
    assert parsed == {REPO_PYPI: get_reqs('requests')}
示例#46
0
 def test_strange_fadesinfo2(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         import foo   # fadesbroken
     """))
     self.assertLoggedWarning("Not understood fades info", "fadesbroken")
     self.assertDictEqual(parsed, {})
示例#47
0
 def test_double(self):
     parsed = parsing._parse_content(io.StringIO("""
         import time  # fades.pypi
         import foo    # fades.pypi
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('time'), get_req('foo')]
     })
示例#48
0
 def test_fades_and_hashtag_mentioned_in_code(self):
     """Test the case where a string contains both: fades and hashtag (#)
     but is not an import.
     """
     parsed = parsing._parse_content(io.StringIO("""
       'http://fades.readthedocs.io/en/release-7-0/readme.html#how-to-use-it'
     """))
     self.assertDictEqual(parsed, {})
示例#49
0
 def test_nocomment(self):
     # note that we're testing the import at the beginning of the line, and
     # in also indented
     parsed = parsing._parse_content(io.StringIO("""import time
         import time
         from time import foo
     """))
     self.assertDictEqual(parsed, {})
示例#50
0
    def test_fades_and_hashtag_mentioned_in_code_mixed_with_imports(self):
        parsed = parsing._parse_content(io.StringIO("""import requests  # fades

          'http://fades.readthedocs.io/en/release-7-0/readme.html#how-to-use-it'
        """))
        self.assertDictEqual(parsed, {
            REPO_PYPI: [get_req('requests')]
        })
示例#51
0
 def test_other_lines_with_fades_string(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bar # fades.pypi
         print("screen fades to black")
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('bar')]
     })
示例#52
0
 def test_with_commented_line(self):
     parsed = parsing._parse_content(
         io.StringIO("""
         import bar   # fades.pypi
         # a commented line
     """))
     self.assertDictEqual(parsed, {REPO_PYPI: [get_req('bar')]})
     self.assertNotLoggedWarning("Not understood fades")
示例#53
0
 def test_mixed(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo    # fades vcs::superurl
         import bar    # fades
     """))
     self.assertDictEqual(parsed, {
         REPO_VCS: [parsing.VCSDependency('superurl')],
         REPO_PYPI: [get_req('bar')],
     })
示例#54
0
 def test_continuation_line(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bar
         # fades.pypi > 2
         import foo
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('foo > 2')]
     })
示例#55
0
 def test_with_commented_line(self):
     parsed = parsing._parse_content(io.StringIO("""
         import bar   # fades.pypi
         # a commented line
     """))
     self.assertDictEqual(parsed, {
         REPO_PYPI: [get_req('bar')]
     })
     self.assertNotLoggedWarning("Not understood fades")
示例#56
0
 def test_fades_user_strange_comment_with_hashtag_ignored(self):
     parsed = parsing._parse_content(io.StringIO("""
       import foo # fades==2 # Some comment with #hashtash
     """))  # noqa
     self.assertDictEqual(parsed, {})
示例#57
0
 def test_strange_fadesinfo2(self):
     parsed = parsing._parse_content(io.StringIO("""
         import foo   # fadesbroken
     """))
     self.assertLoggedWarning("Not understood fades info", "fadesbroken")
     self.assertDictEqual(parsed, {})
示例#58
0
 def test_commented_line(self):
     parsed = parsing._parse_content(io.StringIO("""
         #import foo   # fades.pypi
     """))
     self.assertDictEqual(parsed, {})
     self.assertNotLoggedWarning("Not understood fades")
示例#59
0
 def test_simple_default(self):
     parsed = parsing._parse_content(io.StringIO("""
         import time
         import foo    # fades
     """))
     self.assertDictEqual(parsed, {REPO_PYPI: [get_req('foo')]})