Files @ e13a747e9c6a
Branch filter:

Location: kallithea/rhodecode/tests/models/test_license.py - annotation

Bradley M. Kuhn
Migrate to jQuery 1.10.2 from 1.10.1.

Include the minified version of jQuery 1.10.2 instead of 1.10.1. The 1.10.2
files were download via these commands:

$ wget -N http://code.jquery.com/jquery-1.10.2.min.js
$ wget -N http://code.jquery.com/jquery-1.10.2.min.map

Meanwhile, since the Javascript code is covered by GPLv3, we should always
provide an up-to-date version of the source code. I have included it
here by creating the directory jquery-src. I extracted the correct version
of the source with the following commands:

$ git clone git://github.com/jquery/jquery.git
$ git checkout 1.10.2

which is what the jQuery website instructs to do: http://jquery.com/download/

This repository is mirrorred at https://kallithea-scm.org/repos/mirror/jquery/ .
from __future__ import with_statement

from rhodecode.tests import *
from rhodecode.tests.fixture import Fixture
from rhodecode.lib.compat import json
from rhodecode.model.license import LicenseModel

fixture = Fixture()

TEST_KEY = ''


class LicenseTest(BaseTestCase):

    def setUp(self):
        global TEST_KEY
        token = LicenseModel.generate_license_token()
        TEST_KEY = token

    def test_encryption_decryption(self):
        test_license = {
            'foo': 'baar',
            'signature': 'test'
        }
        enc = LicenseModel(key=TEST_KEY).encrypt(json.dumps(test_license))
        dec = json.loads(LicenseModel(key=TEST_KEY).decrypt(enc))
        self.assertEqual(test_license, dec)

    def test_signature(self):
        enc_with_key = '1234567890123456'
        test_license = {
            'foo': 'baar',
            'signature': None
        }
        test_license['signature'] = LicenseModel(key=TEST_KEY)\
            .generate_signature(test_license, enc_with_key)

        enc = LicenseModel(key=TEST_KEY).encrypt(json.dumps(test_license))
        signature = LicenseModel(key=TEST_KEY).verify(enc, enc_with_key)

        del test_license['signature']
        self.assertEqual(test_license, signature)

    def test_signature_mismatch(self):
        enc_with_key = '1234567890123456'
        test_license = {
            'foo': 'baar',
            'signature': 'cnashs62tdsbcsaaisuda6215sagc'
        }

        enc = LicenseModel(key=TEST_KEY).encrypt(json.dumps(test_license))

        self.assertRaises(TypeError,
            lambda: LicenseModel(key=TEST_KEY).verify(enc, enc_with_key))

    def test_generate_license_token(self):
        token = LicenseModel.generate_license_token()
        self.assertEqual(4, len(token.split('-')))

    def test_get_license_info(self):
        info = LicenseModel.get_license_info('', '')
        self.assertEqual(info, {})

    def test_get_license_info_default(self):
        info = LicenseModel.get_license_info('', '', fill_defaults=True)
        self.assertEqual(info['users'], 20)
        self.assertEqual(info['valid_till'], 1421884937.512214)
        self.assertEqual(info['email'], 'support@rhodecode.com')