示例#1
0
class SQLiteDBTest(unittest.TestCase):
    def setUp(self):
        rand_text = []
        for _ in range(3):
            rand_text.append("".join(
                random.choice(string.ascii_uppercase + string.ascii_lowercase +
                              string.digits) for _ in range(8)))

        p = {
            "scrape_url":
            "https://scrape.pastebin.com/api_scrape_item.php?i=" +
            rand_text[0],
            "full_url":
            "https://pastebin.com/" + rand_text[0],
            "date":
            "1442911802",
            "key":
            rand_text[0],
            "size":
            "890",
            "expire":
            "1442998159",
            "title":
            "Once we all know when we goto function",
            "syntax":
            "java",
            "user":
            "******",
            "body":
            rand_text[1:],
        }

        self.p = p
        self.paste = Paste(p.get("key"), p.get("title"), p.get("user"),
                           p.get("size"), p.get("date"), p.get("expire"),
                           p.get("syntax"), p.get("scrape_url"),
                           p.get("full_url"))

        self.database = SQLiteDB(dbpath="sqlite_test/pastepwn_test")

    def tearDown(self):
        self.database.close_connection()
        shutil.rmtree(os.path.dirname(self.database.dbpath))

    def test_insert_same_key(self):
        for body_text in self.p["body"]:
            self.paste.set_body(body_text)
            self.database.store(self.paste)

        self.assertEqual(
            self.database.cursor.execute(
                "SELECT body FROM pastes WHERE key = \'{0}\'".format(
                    self.p["key"])).fetchone()[0], self.p["body"][1])
示例#2
0
class MongoDBTest(unittest.TestCase):
    def setUp(self):
        rand_text = []
        for _ in range(3):
            rand_text.append("".join(
                random.choice(string.ascii_uppercase + string.ascii_lowercase +
                              string.digits) for _ in range(8)))

        p = {
            "scrape_url":
            "https://scrape.pastebin.com/api_scrape_item.php?i=" +
            rand_text[0],
            "full_url":
            "https://pastebin.com/" + rand_text[0],
            "date":
            "1442911802",
            "key":
            rand_text[0],
            "size":
            "890",
            "expire":
            "1442998159",
            "title":
            "Once we all know when we goto function",
            "syntax":
            "java",
            "user":
            "******",
            "body":
            rand_text[1:],
        }

        self.p = p
        self.paste = Paste(p.get("key"), p.get("title"), p.get("user"),
                           p.get("size"), p.get("date"), p.get("expire"),
                           p.get("syntax"), p.get("scrape_url"),
                           p.get("full_url"))

        self.database = MongoDB(collectionname="pastepwn_test")

    def tearDown(self):
        self.database.db.drop_collection("pastepwn_test")

    def test_insert_same_key(self):
        # Insert a paste two times with the same body
        for body_text in self.p.get("body"):
            self.paste.set_body(body_text)
            self.database.store(self.paste)

        stored_paste = self.database.get(self.p.get("key"))
        comparison = self.p.get("body")[1]
        self.assertEqual(stored_paste.next().get("body"), comparison)
示例#3
0
class PasteTest(unittest.TestCase):

    def setUp(self):
        p = {"scrape_url": "https://scrape.pastebin.com/api_scrape_item.php?i=0CeaNm8Y",
             "full_url": "https://pastebin.com/0CeaNm8Y",
             "date": "1442911802",
             "key": "0CeaNm8Y",
             "size": "890",
             "expire": "1442998159",
             "title": "Once we all know when we goto function",
             "syntax": "java",
             "user": "******",
             "body": "This is a test for pastepwn"}

        self.p = p
        self.paste = Paste(p.get("key"),
                           p.get("title"),
                           p.get("user"),
                           p.get("size"),
                           p.get("date"),
                           p.get("expire"),
                           p.get("syntax"),
                           p.get("scrape_url"),
                           p.get("full_url"))

    def tearDown(self):
        pass

    def test_init_paste(self):
        self.assertEqual(self.p.get("key"), self.paste.key)
        self.assertEqual(self.p.get("title"), self.paste.title)
        self.assertEqual(self.p.get("user"), self.paste.user)
        self.assertEqual(self.p.get("size"), self.paste.size)
        self.assertEqual(self.p.get("date"), self.paste.date)
        self.assertEqual(self.p.get("expire"), self.paste.expire)
        self.assertEqual(self.p.get("syntax"), self.paste.syntax)
        self.assertEqual(self.p.get("scrape_url"), self.paste.scrape_url)
        self.assertEqual(self.p.get("full_url"), self.paste.full_url)
        self.assertEqual(None, self.paste.body)

    def test_set_body(self):
        my_body = "This is a test for pastepwn"
        self.paste.set_body(my_body)
        self.assertEqual(my_body, self.paste.body)

    def test_to_dict(self):
        my_body = "This is a test for pastepwn"
        self.paste.set_body(my_body)

        paste_dict = self.paste.to_dict()
        self.assertEqual(self.p, paste_dict)