Esempio n. 1
0
 def test_it_does_not_resign_up_to_date_actions(self, settings, mocked_autograph):
     a = ActionFactory(signed=True)
     a.signature.signature = "original signature"
     a.signature.save()
     call_command("update_action_signatures")
     a.refresh_from_db()
     assert a.signature.signature == "original signature"
Esempio n. 2
0
 def test_it_resigns_signed_actions_with_force(self, mocked_autograph):
     a = ActionFactory(signed=True)
     a.signature.signature = 'old signature'
     a.signature.save()
     call_command('update_action_signatures', '--force')
     a.refresh_from_db()
     assert a.signature.signature != 'old signature'
Esempio n. 3
0
    def test_it_ignores_missing_actions(self, mock_action):
        dont_update_action = ActionFactory(name='dont-update-action', implementation='old')
        mock_action(dont_update_action.name, 'new', dont_update_action.arguments_schema)

        call_command('update_actions', 'missing-action')
        dont_update_action.refresh_from_db()
        assert dont_update_action.implementation == 'old'
Esempio n. 4
0
 def test_it_signs_out_of_date_actions(self, settings, mocked_autograph):
     a = ActionFactory(signed=True)
     a.signature.timestamp -= timedelta(seconds=settings.AUTOGRAPH_SIGNATURE_MAX_AGE * 2)
     a.signature.signature = "old signature"
     a.signature.save()
     call_command("update_action_signatures")
     a.refresh_from_db()
     assert a.signature.signature != "old signature"
Esempio n. 5
0
    def test_it_ignores_missing_actions(self, mock_action):
        dont_update_action = ActionFactory(name='dont-update-action',
                                           implementation='old')
        mock_action(dont_update_action.name, 'new',
                    dont_update_action.arguments_schema)

        call_command('update_actions', 'missing-action')
        dont_update_action.refresh_from_db()
        assert dont_update_action.implementation == 'old'
Esempio n. 6
0
    def test_it_updates_existing_actions(self, mock_action):
        action = ActionFactory(name="test-action", implementation="old_impl", arguments_schema={})
        mock_action(action.name, {"type": "int"}, "new_impl")

        call_command("update_actions")
        assert Action.objects.count() == 1

        action.refresh_from_db()
        assert action.implementation == "new_impl"
        assert action.arguments_schema == {"type": "int"}
Esempio n. 7
0
    def test_it_only_updates_given_actions(self, mock_action):
        update_action = ActionFactory(name='update-action', implementation='old')
        dont_update_action = ActionFactory(name='dont-update-action', implementation='old')

        mock_action(update_action.name, 'new', update_action.arguments_schema)
        mock_action(dont_update_action.name, 'new', dont_update_action.arguments_schema)

        call_command('update_actions', 'update-action')
        update_action.refresh_from_db()
        assert update_action.implementation == 'new'
        dont_update_action.refresh_from_db()
        assert dont_update_action.implementation == 'old'
Esempio n. 8
0
    def test_it_only_updates_given_actions(self, mock_action):
        update_action = ActionFactory(name="update-action", implementation="old")
        dont_update_action = ActionFactory(name="dont-update-action", implementation="old")

        mock_action(update_action.name, update_action.arguments_schema, "new")
        mock_action(dont_update_action.name, dont_update_action.arguments_schema, "new")

        call_command("update_actions", "update-action")
        update_action.refresh_from_db()
        assert update_action.implementation == "new"
        dont_update_action.refresh_from_db()
        assert dont_update_action.implementation == "old"
Esempio n. 9
0
    def test_it_updates_existing_actions(self, mock_action):
        action = ActionFactory(
            name='test-action',
            implementation='old_impl',
            arguments_schema={},
        )
        mock_action(action.name, 'new_impl', {'type': 'int'})

        call_command('update_actions')
        assert Action.objects.count() == 1

        action.refresh_from_db()
        assert action.implementation == 'new_impl'
        assert action.arguments_schema == {'type': 'int'}
Esempio n. 10
0
    def test_it_updates_existing_actions(self, mock_action):
        action = ActionFactory(
            name='test-action',
            implementation='old_impl',
            arguments_schema={},
        )
        mock_action(action.name, 'new_impl', {'type': 'int'})

        call_command('update_actions')
        assert Action.objects.count() == 1

        action.refresh_from_db()
        assert action.implementation == 'new_impl'
        assert action.arguments_schema == {'type': 'int'}
Esempio n. 11
0
    def test_it_only_updates_given_actions(self, mock_action):
        update_action = ActionFactory(name='update-action',
                                      implementation='old')
        dont_update_action = ActionFactory(name='dont-update-action',
                                           implementation='old')

        mock_action(update_action.name, 'new', update_action.arguments_schema)
        mock_action(dont_update_action.name, 'new',
                    dont_update_action.arguments_schema)

        call_command('update_actions', 'update-action')
        update_action.refresh_from_db()
        assert update_action.implementation == 'new'
        dont_update_action.refresh_from_db()
        assert dont_update_action.implementation == 'old'
Esempio n. 12
0
 def test_it_signs_unsigned_actions(self, mocked_autograph):
     a = ActionFactory(signed=False)
     call_command('update_action_signatures')
     a.refresh_from_db()
     assert a.signature is not None