import textwrap, cStringIO, os, time, re, json import libpry from libmproxy import utils utils.CERT_SLEEP_TIME = 0 class uformat_timestamp(libpry.AutoTree): def test_simple(self): assert utils.format_timestamp(utils.timestamp()) class uisBin(libpry.AutoTree): def test_simple(self): assert not utils.isBin("testing\n\r") assert utils.isBin("testing\x01") assert utils.isBin("testing\x0e") assert utils.isBin("testing\x7f") class uisXML(libpry.AutoTree): def test_simple(self): assert not utils.isXML("foo") assert utils.isXML("= 0 def test_dictToHeader2(self): self.hd["one"] = ["uno"] expected1 = "one: uno\r\n" expected2 = "\r\n" out = repr(self.hd) assert out.find(expected1) >= 0 assert out.find(expected2) >= 0 def test_match_re(self): h = utils.Headers() h.add("one", "uno") h.add("two", "due") h.add("two", "tre") assert h.match_re("uno") assert h.match_re("two: due") assert not h.match_re("nonono") def test_getset_state(self): self.hd.add("foo", 1) self.hd.add("foo", 2) self.hd.add("bar", 3) state = self.hd.get_state() nd = utils.Headers.from_state(state) assert nd == self.hd def test_copy(self): self.hd.add("foo", 1) self.hd.add("foo", 2) self.hd.add("bar", 3) assert self.hd == self.hd.copy() def test_del(self): self.hd.add("foo", 1) self.hd.add("Foo", 2) self.hd.add("bar", 3) del self.hd["foo"] assert len(self.hd.lst) == 1 def test_replace(self): self.hd.add("one", "two") self.hd.add("two", "one") assert self.hd.replace("one", "vun") == 2 assert self.hd.lst == [ ["vun", "two"], ["two", "vun"], ] class uisStringLike(libpry.AutoTree): def test_all(self): assert utils.isStringLike("foo") assert not utils.isStringLike([1, 2, 3]) assert not utils.isStringLike((1, 2, 3)) assert not utils.isStringLike(["1", "2", "3"]) class uisSequenceLike(libpry.AutoTree): def test_all(self): assert utils.isSequenceLike([1, 2, 3]) assert utils.isSequenceLike((1, 2, 3)) assert not utils.isSequenceLike("foobar") assert utils.isSequenceLike(["foobar", "foo"]) x = iter([1, 2, 3]) assert utils.isSequenceLike(x) assert not utils.isSequenceLike(1) class upretty_xmlish(libpry.AutoTree): def test_tagre(self): def f(s): return re.search(utils.TAG, s, re.VERBOSE|re.MULTILINE) assert f(r"") assert f(r"") assert f(r"< body/>") assert f(r"< body/ >") assert f(r"< body / >") assert f(r"") assert f(r"") assert f(r"") assert f(r'') assert f('') assert f('