from django.test import TestCase from django.utils import translation from misago.core import migrationutils from misago.core.models import CacheVersion class LazyTranslationStringTests(TestCase): def setUp(self): translation.activate('de') def tearDown(self): translation.deactivate() def test_ugettext_lazy(self): """ugettext_lazy for migrations maintains untranslated message""" string = migrationutils.ugettext_lazy('content type') self.assertEqual(string.message, 'content type') self.assertEqual(unicode(string), 'Inhaltstyp') class CacheBusterUtilsTests(TestCase): def setUp(self): self.orm = { 'core.CacheVersion': CacheVersion, } def test_with_core_models(self): """with_core_models builds correct dict of models""" models = { u'conf.setting': { 'Meta': {'object_name': 'Setting'}, 'default_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), 'dry_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), 'form_field': ('django.db.models.fields.CharField',[], {'max_length': '255'}), 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['conf.SettingsGroup']"}), u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'is_lazy': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), 'legend': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 'order': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}), 'pickled_field_extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), 'python_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}), 'setting': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) }, u'conf.settingsgroup': { 'Meta': {'object_name': 'SettingsGroup'}, 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) } } final_models = migrationutils.with_core_models('0001_initial') self.assertTrue('core.cacheversion' in final_models), final_models = migrationutils.with_core_models('0001_initial', models) self.assertTrue('core.cacheversion' in final_models), self.assertTrue('conf.settingsgroup' in final_models), self.assertTrue('conf.setting' in final_models), def test_cachebuster_register_cache(self): """ cachebuster_register_cache registers cache on migration successfully """ cache_name = 'eric_licenses' migrationutils.cachebuster_register_cache(self.orm, cache_name) CacheVersion.objects.get(cache=cache_name) def test_cachebuster_unregister_cache(self): """ cachebuster_unregister_cache removes cache on migration successfully """ cache_name = 'eric_licenses' migrationutils.cachebuster_register_cache(self.orm, cache_name) CacheVersion.objects.get(cache=cache_name) migrationutils.cachebuster_unregister_cache(self.orm, cache_name) with self.assertRaises(CacheVersion.DoesNotExist): CacheVersion.objects.get(cache=cache_name)