def _pre_setup(self): super(ViewTestCase, self)._pre_setup() self.store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = {"kittystore.store": self.store, "HTTP_USER_AGENT": "testbot", }
def setUp(self): self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') self.client.login(username='******', password='******') store = kittystore.get_store(SettingsModule(), debug=False) ml = FakeList("*****@*****.**") ml.subject_prefix = u"[example] " # Create 3 threads messages = [] for msgnum in range(3): msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<id%d>" % (msgnum + 1) msg["Subject"] = "Dummy message" msg.set_payload("Dummy message") store.add_to_list(ml, msg) messages.append(msg) # 1st is unread, 2nd is read, 3rd is updated LastView.objects.create(list_address="*****@*****.**", user=self.user, threadid=get_message_id_hash("<id2>")) LastView.objects.create(list_address="*****@*****.**", user=self.user, threadid=get_message_id_hash("<id3>")) msg4 = Message() msg4["From"] = "*****@*****.**" msg4["Message-ID"] = "<id4>" msg4["Subject"] = "Dummy message" msg4["In-Reply-To"] = "<id3>" msg4.set_payload("Dummy message") store.add_to_list(ml, msg4) # Factory defaults = {"kittystore.store": store, "HTTP_USER_AGENT": "testbot"} self.factory = RequestFactory(**defaults)
def process_request(self, request): try: request.environ['kittystore.store'] = self._local.store except AttributeError: request.environ['kittystore.store'] = \ self._local.__dict__.setdefault('store', kittystore.get_store(settings))
def setUp(self): self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') self.client.login(username='******', password='******') store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = {"kittystore.store": store, "HTTP_USER_AGENT": "testbot", } # Create test data ml = FakeList("*****@*****.**") ml.subject_prefix = u"[example] " # Create 3 threads messages = [] for msgnum in range(3): msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<id%d>" % (msgnum+1) msg["Subject"] = "Dummy message" msg.set_payload("Dummy message") store.add_to_list(ml, msg) messages.append(msg) # 1st is unread, 2nd is read, 3rd is updated LastView.objects.create(list_address="*****@*****.**", user=self.user, threadid=get_message_id_hash("<id2>")) LastView.objects.create(list_address="*****@*****.**", user=self.user, threadid=get_message_id_hash("<id3>")) msg4 = Message() msg4["From"] = "*****@*****.**" msg4["Message-ID"] = "<id4>" msg4["Subject"] = "Dummy message" msg4["In-Reply-To"] = "<id3>" msg4.set_payload("Dummy message") store.add_to_list(ml, msg4)
def setUp(self): self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') self.user.is_staff = True self.user.save() self.client.login(username='******', password='******') self.store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = { "kittystore.store": self.store, "HTTP_USER_AGENT": "testbot", } ml = FakeList("*****@*****.**") ml.subject_prefix = u"[example] " # Create 2 threads self.messages = [] for msgnum in range(2): msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<id%d>" % (msgnum + 1) msg["Subject"] = "Dummy message" msg.set_payload("Dummy message") msg["Message-ID-Hash"] = self.store.add_to_list(ml, msg) self.messages.append(msg)
def setUp(self): self.store = kittystore.get_store( SettingsModule(), debug=False, auto_create=True) self.client = Mock() self.client.get_list.side_effect = lambda name: FakeMMList(name) self.mm_user = Mock() self.mm_user.user_id = "123456"
def setUp(self): store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = {"kittystore.store": store, "HTTP_USER_AGENT": "testbot", } self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass')
def process_request(self, request): try: request.environ["kittystore.store"] = self._local.store except AttributeError: request.environ["kittystore.store"] = self._local.__dict__.setdefault( "store", kittystore.get_store(settings.KITTYSTORE_URL, settings.KITTYSTORE_DEBUG) )
def get_store_from_options(opts): """ Returns a Store instance from an options object. Known options are; - "settings": the Django settings module - "pythonpath": an additional Python path to import the Django settings """ settings = get_settings_from_options(opts) return get_store(settings, debug=opts.debug)
def process_request(self, request): try: request.environ['kittystore.store'] = self._local.store except AttributeError: request.environ['kittystore.store'] = \ self._local.__dict__.setdefault('store', kittystore.get_store(settings.KITTYSTORE_URL, settings.KITTYSTORE_SEARCH_INDEX, settings.KITTYSTORE_DEBUG))
def setUp(self): store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = { "kittystore.store": store, "HTTP_USER_AGENT": "testbot", } self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass')
def __call__(self, environ, start_response): try: environ['kittystore.store'] = self._local.store except AttributeError: environ['kittystore.store'] = \ self._local.__dict__.setdefault('store', kittystore.get_store(settings)) try: return self._app(environ, start_response) finally: environ['kittystore.store'].rollback()
def __call__(self, environ, start_response): try: environ["kittystore.store"] = self._local.store except AttributeError: environ["kittystore.store"] = self._local.__dict__.setdefault( "store", kittystore.get_store(settings.KITTYSTORE_URL, settings.KITTYSTORE_DEBUG) ) try: return self._app(environ, start_response) finally: environ["kittystore.store"].rollback()
def main(): opts, args = parse_args() print 'Importing messages from %s to database...' % opts.list_name store = get_store(opts.store, debug=opts.debug) mlist = DummyMailingList(opts.list_name) importer = DbImporter(mlist, store, opts) for mbfile in args: print "Importing from mbox file %s" % mbfile importer.from_mbox(mbfile) if opts.verbose: print ' %s emails are stored into the database' \ % store.get_list_size(opts.list_name)
def process_request(self, request): if request.path == reverse("error_schemaupgrade"): return # Display the error page try: request.environ["kittystore.store"] = self._local.store except AttributeError: try: store = kittystore.get_store(settings) except kittystore.SchemaUpgradeNeeded: return redirect("error_schemaupgrade") else: request.environ["kittystore.store"] = self._local.__dict__.setdefault("store", store)
def setUp(self): store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = {"kittystore.store": store, "HTTP_USER_AGENT": "testbot", } # Create the list by adding a dummy message ml = FakeList("*****@*****.**") msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<msg>" msg.set_payload("Dummy message") store.add_to_list(ml, msg)
def archive_message(self, mlist, msg): """Send the message to the archiver. :param mlist: The IMailingList object. :param msg: The message object. :returns: The url string or None if the message's archive url cannot be calculated. """ if self.store is None: self.store = get_store(self.settings) msg.message_id_hash = self.store.add_to_list(mlist, msg) self.store.commit() # TODO: Update karma return msg.message_id_hash
def archive_message(self, mlist, msg): """Send the message to the archiver. :param mlist: The IMailingList object. :param msg: The message object. :returns: The url string or None if the message's archive url cannot be calculated. """ if self.store is None: self.store = get_store(self.store_url) msg.message_id_hash = self.store.add_to_list(mlist, msg) self.store.commit() # TODO: Update karma return msg.message_id_hash
def setUp(self): store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = { "kittystore.store": store, "HTTP_USER_AGENT": "testbot", } # Create the list by adding a dummy message ml = FakeList("*****@*****.**") msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<msg>" msg.set_payload("Dummy message") store.add_to_list(ml, msg)
def process_request(self, request): if request.path == reverse("error_schemaupgrade"): return # Display the error page if "kittystore.store" in request.environ: return # Already set, for example by unit tests try: request.environ['kittystore.store'] = self._local.store except AttributeError: try: store = kittystore.get_store(settings) except kittystore.SchemaUpgradeNeeded: return redirect("error_schemaupgrade") else: request.environ['kittystore.store'] = \ self._local.__dict__.setdefault('store', store)
def get_store_from_options(opts): """ Returns a Store instance from an options object. Known options are; - "settings": the Django settings module - "pythonpath": an additional Python path to import the Django settings """ settings = None if opts.pythonpath is not None: sys.path.append(opts.pythonpath) try: settings = importlib.import_module(opts.settings) except ImportError as e: raise StoreFromOptionsError("could not import settings '%s' (Is it on " "sys.path?): %s" % (opts.settings, e)) return get_store(settings, debug=opts.debug)
def setUp(self): self.tmpdir = mkdtemp(prefix="hyperkitty-testing-") self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') settings = SettingsModule() settings.KITTYSTORE_SEARCH_INDEX = self.tmpdir self.store = kittystore.get_store(settings, debug=False, auto_create=True) self.client.defaults = {"kittystore.store": self.store, "HTTP_USER_AGENT": "testbot", } ml = FakeList("*****@*****.**") ml.subject_prefix = u"[example] " ml.archive_policy = ArchivePolicy.private msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<msgid>" msg["Subject"] = "Dummy message" msg.set_payload("Dummy message") msg["Message-ID-Hash"] = self.msgid = self.store.add_to_list(ml, msg)
def updatedb(): parser = OptionParser(usage="%prog -s store_url") parser.add_option("-s", "--store", help="the URL to the store database") parser.add_option("-d", "--debug", action="store_true", help="show SQL queries") opts, args = parser.parse_args() if opts.store is None: parser.error("the store URL is missing (eg: " "sqlite:///kittystore.sqlite).") if args: parser.error("no arguments allowed.") print 'Upgrading the database schema if necessary...' store = get_store(opts.store, debug=opts.debug) version = list(store.db.execute( "SELECT patch.version FROM patch " "ORDER BY version DESC LIMIT 1" ))[0][0] print "Done, the current schema version is %d." % version
def setUp(self): self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') self.user.is_staff = True self.client.login(username='******', password='******') self.store = kittystore.get_store(SettingsModule(), debug=False) ml = FakeList("*****@*****.**") ml.subject_prefix = u"[example] " # Create 2 threads self.messages = [] for msgnum in range(2): msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<id%d>" % (msgnum+1) msg["Subject"] = "Dummy message" msg.set_payload("Dummy message") msg["Message-ID-Hash"] = self.store.add_to_list(ml, msg) self.messages.append(msg) # Factory defaults = {"kittystore.store": self.store, "HTTP_USER_AGENT": "testbot"} self.factory = RequestFactory(**defaults)
def setUp(self): self.user = User.objects.create_user( 'testuser', '*****@*****.**', 'testPass') self.client.login(username='******', password='******') # use a temp variable below because self.client.session is actually a # property which returns a new instance en each call :-/ session = self.client.session session["user_id"] = u"testuser" session.save() self.store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = {"kittystore.store": self.store, "HTTP_USER_AGENT": "testbot", } # Create a dummy message to test on ml = FakeList("*****@*****.**") msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<msg>" msg.set_payload("Dummy message") self.store.add_to_list(ml, msg)
def setUp(self): self.tmpdir = mkdtemp(prefix="hyperkitty-testing-") self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') settings = SettingsModule() settings.KITTYSTORE_SEARCH_INDEX = self.tmpdir self.store = kittystore.get_store(settings, debug=False, auto_create=True) self.client.defaults = { "kittystore.store": self.store, "HTTP_USER_AGENT": "testbot", } ml = FakeList("*****@*****.**") ml.subject_prefix = u"[example] " ml.archive_policy = ArchivePolicy.private msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<msgid>" msg["Subject"] = "Dummy message" msg.set_payload("Dummy message") msg["Message-ID-Hash"] = self.msgid = self.store.add_to_list(ml, msg)
def setUp(self): self.user = User.objects.create_user('testuser', '*****@*****.**', 'testPass') self.client.login(username='******', password='******') # use a temp variable below because self.client.session is actually a # property which returns a new instance en each call :-/ session = self.client.session session["user_id"] = u"testuser" session.save() self.store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) self.client.defaults = { "kittystore.store": self.store, "HTTP_USER_AGENT": "testbot", } # Create a dummy message to test on ml = FakeList("*****@*****.**") msg = Message() msg["From"] = "*****@*****.**" msg["Message-ID"] = "<msg>" msg.set_payload("Dummy message") self.store.add_to_list(ml, msg)
def setUp(self): store = kittystore.get_store(SettingsModule(), debug=False, auto_create=True) defaults = {"kittystore.store": store, "HTTP_USER_AGENT": "testbot"} self.factory = RequestFactory(**defaults)
def setUp(self): self.store = get_store(SettingsModule(), auto_create=True) self.listname, self.m_hash = self.add_fetch_data()
def setUp(self): self.store = get_store(SettingsModule(), auto_create=True)
opts, args = parser.parse_args() if args: parser.error("no arguments allowed.") if opts.debug: debuglevel = logging.DEBUG else: debuglevel = logging.INFO logging.basicConfig(format='%(message)s', level=debuglevel) print 'Upgrading the database schema and populating ' \ 'the search index if necessary...' try: settings = get_settings_from_options(opts) except (StoreFromOptionsError, AttributeError), e: parser.error(e.args[0]) try: store = get_store(settings, debug=opts.debug) except SchemaUpgradeNeeded: print "Upgrading the schema..." store, version = create_store(settings, debug=opts.debug) print "Done, the current schema version is %s." % version print "Synchonizing data from Mailman, this can take some time..." sync_mailman(store) store.commit() print " ...done!" else: print "No schema upgrade needed." # # Manual Mailman sync