Exemple #1
0
 def handle_shorting(self, url, given_sid):
     sid = given_sid or self.shortifier(url)
     with self.uow.start() as tx:
         surl = tx.short_urls.get(sid)
         if surl:
             # collision happened
             raise SidCollisionException("Collision")
         surl = ShortUrl(sid, url)
         surl.user = self.user
         tx.short_urls.add(surl)
         tx.commit()
     return sid
Exemple #2
0
 def given_a_short_url_already_stored(self):
     self.url = "http://www.domain.com/big-article-name-with-params/?q=qwerty&t=10"
     self.given_sid = "5Y14wQ"
     configure_fake_injects()
     self.handler = ShortUrlHandler(user)
     uow = inject.instance('UnitOfWorkManager')
     uow.sess.short_urls.add(ShortUrl(self.given_sid, "http://a_url.com/"))
Exemple #3
0
    def given_some_urls_and_a_user(self):
        configure_fake_injects()

        # Urls for Alice
        self.user = User('Alice')
        short_url1 = ShortUrl('SID-1', "http://url.1", user=self.user)
        short_url2 = ShortUrl('SID-2', "http://url.2", user=self.user)
        self.alice_urls = [short_url1, short_url2]

        # Url for other user
        short_url3 = ShortUrl('SID-3', "http://url.3", user=User('Bob'))

        uow = inject.instance('UnitOfWorkManager')
        uow.sess.short_urls.add(short_url1)
        uow.sess.short_urls.add(short_url2)
        uow.sess.short_urls.add(short_url3)
Exemple #4
0
    def given_some_urls_and_two_users(self):

        with uow.start() as tx:
            # Urls for Alice
            alice = create_user_with_token(tx)
            self.alice_token = alice.token.token
            self.sid1 = shortifier('url1')
            short_url1 = ShortUrl(self.sid1, "http://url.1", user=alice)
            short_url1.created_at = datetime.now() - timedelta(days=1)
            short_url2 = ShortUrl(shortifier('url2'), "http://url.2", user=alice)
            tx.short_urls.add(short_url1)
            tx.short_urls.add(short_url2)

            # Url for bob
            bob = create_user_with_token(tx)
            self.bob_token = bob.token.token
            short_url3 = ShortUrl(shortifier('url3'), "http://url.3", user=bob)
            tx.short_urls.add(short_url3)

            tx.commit()