Esempio n. 1
0
    def test_constants(self):
        #                    01234567890123456789012345678901234567890123456789012345678901234567890123456789
        json = slow_stream(u'[true, false, null, 42, 3.14, "hello world", "àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"]')

        result = list(stream.parse(json, None, ["."]))
        expected = [True, False, None, 42, 3.14, u"hello world", u"àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"]
        self.assertEqual(result, expected)
Esempio n. 2
0
    def test_select_all(self):
        json = slow_stream('{"b":[{"a":1, "p":{"b":2, "c":{"d":3}}}, {"a":4, "p":{"b":5, "c":{"d":6}}}]}')

        result = list(stream.parse(json, "b", ["b"]))
        expected = [
            {"b": {"a": 1, "p": {"b": 2, "c": {"d": 3}}}},
            {"b": {"a": 4, "p": {"b": 5, "c": {"d": 6}}}}
        ]
        self.assertEqual(result, expected)
Esempio n. 3
0
    def test_select_from_many_list(self):
        json = slow_stream('{"1":[{"a":"b"}, {"a":"c"}]}')

        result = list(stream.parse(json, "1", ["1.a"]))
        expected = [
            {"1": {"a": "b"}},
            {"1": {"a": "c"}}
        ]
        self.assertEqual(result, expected)
Esempio n. 4
0
    def test_select_from_deep_many_list(self):
        #                   0123456789012345678901234567890123
        json = slow_stream('{"1":{"2":[{"a":"b"}, {"a":"c"}]}}')

        result = list(stream.parse(json, "1.2", ["1.2.a"]))
        expected = [
            {"1": {"2": {"a": "b"}}},
            {"1": {"2": {"a": "c"}}}
        ]
        self.assertEqual(result, expected)
Esempio n. 5
0
    def test_select_from_diverse_list(self):
        json = slow_stream('{"1":["test", {"a":"c"}]}')

        result = list(stream.parse(json, "1", ["1.a"]))
        expected = [
            {"1": {}},
            {"1": {"a": "c"}}
        ]
        self.assertEqual(result[0]["1"], None)
        self.assertEqual(result, expected)
Esempio n. 6
0
 def test():
     result = list(stream.parse(json, "1", ["0", "1.a", "2"]))
Esempio n. 7
0
    def test_big_baddy(self):
        source = """
        {
          "builds": [
            {
              "builder_id": 367155,
              "buildnumber": 460,
              "endtime": 1444699317,
              "id": 77269739,
              "master_id": 161,
              "properties": {
                "appName": "Firefox",
                "appVersion": "44.0a1",
                "basedir": "/c/builds/moz2_slave/m-in-w64-pgo-00000000000000000",
                "branch": "mozilla-inbound",
                "buildername": "WINNT 6.1 x86-64 mozilla-inbound pgo-build",
                "buildid": "20151012133004",
                "buildnumber": 460,
                "builduid": "2794c8ed62f642aeae5cd3f6cd72bdfd",
                "got_revision": "001f7d3139ce",
                "jsshellUrl": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win64-pgo/1444681804/jsshell-win64.zip",
                "log_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win64-pgo/1444681804/mozilla-inbound-win64-pgo-bm84-build1-build460.txt.gz",
                "master": "http://buildbot-master84.bb.releng.scl3.mozilla.com:8001/",
                "packageFilename": "firefox-44.0a1.en-US.win64.zip",
                "packageUrl": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win64-pgo/1444681804/firefox-44.0a1.en-US.win64.zip",
                "platform": "win64",
                "product": "firefox",
                "project": "",
                "repo_path": "integration/mozilla-inbound",
                "repository": "",
                "request_ids": [
                  83875568
                ],
                "request_times": {
                  "83875568": 1444681804
                },
                "revision": "001f7d3139ce06e63075cb46bc4c6cbb607e4be4",
                "scheduler": "mozilla-inbound periodic",
                "script_repo_revision": "production",
                "script_repo_url": "https://hg.mozilla.org/build/mozharness",
                "slavename": "b-2008-ix-0099",
                "sourcestamp": "001f7d3139ce06e63075cb46bc4c6cbb607e4be4",
                "stage_platform": "win64-pgo",
                "symbolsUrl": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win64-pgo/1444681804/firefox-44.0a1.en-US.win64.crashreporter-symbols.zip",
                "testPackagesUrl": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win64-pgo/1444681804/test_packages.json",
                "testsUrl": "http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win64-pgo/1444681804/firefox-44.0a1.en-US.win64.web-platform.tests.zip",
                "toolsdir": "/c/builds/moz2_slave/m-in-w64-pgo-00000000000000000/scripts",
                "uploadFiles": "[u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\install\\\\sea\\\\firefox-44.0a1.en-US.win64.installer.exe', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\win64\\\\xpi\\\\firefox-44.0a1.en-US.langpack.xpi', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\mozharness.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.common.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.cppunittest.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.xpcshell.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.mochitest.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.talos.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.reftest.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.web-platform.tests.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.crashreporter-symbols.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.txt', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.json', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.mozinfo.json', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\test_packages.json', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\jsshell-win64.zip', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\host\\\\bin\\\\mar.exe', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\host\\\\bin\\\\mbsdiff.exe', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.checksums', u'c:\\\\builds\\\\moz2_slave\\\\m-in-w64-pgo-00000000000000000\\\\build\\\\src\\\\obj-firefox\\\\dist\\\\firefox-44.0a1.en-US.win64.checksums.asc']"
              },
              "reason": "The Nightly scheduler named 'mozilla-inbound periodic' triggered this build",
              "request_ids": [
                83875568
              ],
              "requesttime": 1444681804,
              "result": 0,
              "slave_id": 8812,
              "starttime": 1444681806
            }
        ]}
        """
        json = slow_stream(source)
        expected = convert.json2value(source)


        for j in stream.parse(
            json,
            "builds",
            [
                "builds.starttime",
                "builds.endtime",
                "builds.requesttime",
                "builds.reason",
                "builds.properties.request_times",
                "builds.properties.slavename",
                "builds.properties.log_url",
                "builds.properties.buildername"
            ]
        ):
            Log.note("{{json|json}}", json=j)