Пример #1
0
    def test_find_idle_mods(self):
        """
        Return freshly idle mods, skip active and ancient mods
        """

        # Arrange
        with patch('git.Repo') as repo_mock, \
            patch('netkan.repos.NetkanRepo') as nk_repo_mock, \
            patch('netkan.auto_freezer.ModStatus') as status_mock, \
            patch('netkan.github_pr.GitHubPR') as pr_mock:

            nk_repo_mock.return_value.netkans.return_value = [
                Netkan(contents='{ "identifier": "Astrogator" }'),
                Netkan(contents='{ "identifier": "SmartTank"  }'),
                Netkan(contents='{ "identifier": "Ringworld"  }'),
            ]
            status_mock.get.side_effect = lambda ident: unittest.mock.Mock(
                release_date=self.IDENT_TIMESTAMPS[ident])
            nk_repo = nk_repo_mock(git.Repo('/blah'))
            github_pr = pr_mock('', '', '')
            af = AutoFreezer(nk_repo, github_pr)

            # Act
            astrogator_dttm = af._last_timestamp('Astrogator')
            smarttank_dttm = af._last_timestamp('SmartTank')
            ringworld_dttm = af._last_timestamp('Ringworld')
            idle_mods = af._find_idle_mods(1000, 21)

            # Assert
            self.assertEqual(astrogator_dttm, self.a_while_ago)
            self.assertEqual(smarttank_dttm, self.a_long_time_ago)
            self.assertEqual(ringworld_dttm, self.now)
            self.assertEqual(idle_mods, [('Astrogator', self.a_while_ago)])
Пример #2
0
 def setUp(self):
     self.netkan = Netkan(contents="""{
         "spec_version": "v1.4",
         "identifier":   "LightsOut-Fwiffo",
         "license":      "MIT",
         "version":      "v0.1.5.1",
         "download":     "https://cdn.rawgit.com/rkagerer/KSP-Fwiffo-Repository/master/Mods/LightsOut-Fwiffo-v0.1.5.1.zip"
     }""")
Пример #3
0
class TestNetKANVref(TestNetKAN):
    def setUp(self):
        self.netkan = Netkan(self.nk_repo.nk_path('VrefCoinFlag'))

    def test_on_spacedock(self):
        self.assertTrue(self.netkan.on_spacedock)

    def test_hook_only(self):
        self.assertFalse(self.netkan.hook_only())
Пример #4
0
    def setUp(self):
        self.netkan = Netkan(contents="""
spec_version: v1.4
identifier:   Cosmogator
$kref:        "#/ckan/github/HebaruSan/Astrogator"
license:      GPL-3.0
tags:
    - plugin
    - information
    - control
install:
    - find: Astrogator
      install_to: GameData
""")
Пример #5
0
class TestNetKANCurse(TestNetKAN):
    def setUp(self):
        self.netkan = Netkan(self.nk_repo.nk_path('CurseCoinFlag'))

    def test_has_curse_kref(self):
        self.assertEqual(self.netkan.kref, '#/ckan/curse/666')

    def test_on_curse(self):
        self.assertTrue(self.netkan.on_curse)

    def test_kref_id(self):
        self.assertEqual(self.netkan.kref_id, '666')

    def test_hook_only(self):
        self.assertFalse(self.netkan.hook_only())
Пример #6
0
class TestNetKANSpaceDock(TestNetKAN):
    def setUp(self):
        self.netkan = Netkan(self.nk_repo.nk_path('DockCoinFlag'))

    def test_has_spacedock_kref(self):
        self.assertEqual(self.netkan.kref, '#/ckan/spacedock/777')

    def test_on_spacedock(self):
        self.assertTrue(self.netkan.on_spacedock)

    def test_kref_id(self):
        self.assertEqual(self.netkan.kref_id, '777')

    def test_hook_only(self):
        self.assertTrue(self.netkan.hook_only())
Пример #7
0
class TestNetKANGitHub(TestNetKAN):
    def setUp(self):
        self.netkan = Netkan(self.nk_repo.nk_path('DogeCoinFlag'))

    def test_has_github_kref(self):
        self.assertEqual(self.netkan.kref, '#/ckan/github/pjf/DogeCoinFlag')

    def test_on_github(self):
        self.assertTrue(self.netkan.on_github)

    def test_kref_id(self):
        self.assertEqual(self.netkan.kref_id, 'pjf/DogeCoinFlag')

    def test_hook_only(self):
        self.assertFalse(self.netkan.hook_only())
Пример #8
0
class TestNetKANNetkan(TestNetKAN):
    def setUp(self):
        self.netkan = Netkan(self.nk_repo.nk_path('NetkanCoinFlag'))

    def test_has_netkan_kref(self):
        self.assertEqual(
            self.netkan.kref,
            '#/ckan/netkan/http://ksp-ckan.space/netkan/DogeCoinFlag.netkan')

    def test_on_netkan(self):
        self.assertTrue(self.netkan.on_netkan)

    def test_kref_id(self):
        self.assertEqual(self.netkan.kref_id,
                         'http://ksp-ckan.space/netkan/DogeCoinFlag.netkan')

    def test_hook_only(self):
        self.assertFalse(self.netkan.hook_only())
Пример #9
0
 def setUp(self):
     self.netkan = Netkan(self.nk_repo.nk_path('NetkanCoinFlag'))
Пример #10
0
 def test_netkan_message(self):
     dogecoinflag = self.nk_repo.nk_path('DogeCoinFlag')
     netkan = Netkan(dogecoinflag)
     message = netkan.sqs_message()
     self.assertEqual(message['MessageBody'], dogecoinflag.read_text())
     self.assertEqual(message['MessageGroupId'], '1')