コード例 #1
0
    def test_save_events_null(self):
        fake_graph = fudge.Fake("graph")
        fake_graph.remember_order()

        batch = fake_graph.expects("batch")
        request = [OrderedDict([("method", "GET"), ("relative_url", "226680217397995?date_format=c")])]
        batch.with_args(request)
        batch.returns([None])

        events_coll = fudge.Fake("events_coll")
        events_coll.remember_order()

        update = events_coll.expects("update")
        save = OrderedDict(
            [
                ("ubernear.lookup_failed.when", datetime(2011, 11, 16, 2, 50, 32)),
                ("ubernear.lookup_failed.reason", "Null response"),
            ]
        )
        update.with_args(
            OrderedDict([("_id", "226680217397995")]), OrderedDict([("$set", save)]), upsert=True, safe=True
        )

        fake_log = fudge.Fake("log")

        events = [OrderedDict([("_id", "226680217397995")])]
        facebook_event._save_events(
            events=events,
            events_coll=events_coll,
            graph=fake_graph,
            now=datetime(2011, 11, 16, 2, 50, 32),
            _log=fake_log,
        )
コード例 #2
0
    def test_save_events_different_id(self):
        fake_graph = fudge.Fake("graph")
        fake_graph.remember_order()

        batch = fake_graph.expects("batch")
        request = [OrderedDict([("method", "GET"), ("relative_url", "226680217397995?date_format=c")])]
        batch.with_args(request)
        batch.returns(
            [
                OrderedDict(
                    [
                        ("title", "event title 226680217397995"),
                        ("id", "foo id"),
                        ("start_time", "2012-02-26T08:00:00+00:00"),
                        ("end_time", "2012-02-26T11:00:00+00:00"),
                    ]
                )
            ]
        )

        fake_log = fudge.Fake("log")
        fake_log.remember_order()

        debug = fake_log.expects("error")
        debug.with_args("Facebook returned information for an event other than " "226680217397995. Skipping event.")

        events_coll = fudge.Fake("events_coll")
        events_coll.remember_order()

        update = events_coll.expects("update")
        save = OrderedDict(
            [
                ("ubernear.lookup_failed.when", datetime(2011, 11, 16, 2, 50, 32)),
                ("ubernear.lookup_failed.reason", "Response id is different"),
            ]
        )
        update.with_args(
            OrderedDict([("_id", "226680217397995")]), OrderedDict([("$set", save)]), upsert=True, safe=True
        )

        events = [OrderedDict([("_id", "226680217397995")])]
        facebook_event._save_events(
            events=events,
            events_coll=events_coll,
            graph=fake_graph,
            now=datetime(2011, 11, 16, 2, 50, 32),
            _log=fake_log,
        )
コード例 #3
0
    def test_save_events_simple(self):
        self._create_save_events_simple_fakes()

        events = [
            OrderedDict(
                [
                    ("_id", "226680217397995"),
                    ("ubernear", OrderedDict([("place_ids", ["cb036268-2ba8-47db-906c-ca3b66d4da73"])])),
                ]
            ),
            OrderedDict(
                [
                    ("_id", "267558763278075"),
                    ("ubernear", OrderedDict([("place_ids", ["11ee45ad-2ad0-4bbb-9d9d-a107b88cc579"])])),
                ]
            ),
        ]
        facebook_event._save_events(
            events=events,
            events_coll=self._events_coll,
            graph=self._fake_graph,
            now=datetime(2011, 11, 16, 2, 50, 32),
            _log=self._fake_log,
        )
コード例 #4
0
    def test_save_events_some_work(self):
        fake_graph = fudge.Fake("graph")
        fake_graph.remember_order()

        batch = fake_graph.expects("batch")
        request = [
            OrderedDict([("method", "GET"), ("relative_url", "226680217397995?date_format=c")]),
            OrderedDict([("method", "GET"), ("relative_url", "267558763278075?date_format=c")]),
        ]
        batch.with_args(request)
        batch.returns(
            [
                OrderedDict(
                    [
                        ("title", "event title 226680217397995"),
                        ("id", "foo id"),
                        ("start_time", "2012-01-15T21:23+00:00"),
                        ("end_time", "2012-01-16T05:22+00:00"),
                    ]
                ),
                OrderedDict(
                    [
                        ("title", "event title 267558763278075"),
                        ("id", "267558763278075"),
                        ("start_time", "2012-01-15T21:23+00:00"),
                        ("end_time", "2012-01-16T05:22+00:00"),
                    ]
                ),
            ]
        )

        fake_log = fudge.Fake("log")
        fake_log.remember_order()

        debug = fake_log.expects("error")
        debug.with_args("Facebook returned information for an event other than " "226680217397995. Skipping event.")

        debug = fake_log.expects("debug")
        debug.with_args("Storing event 267558763278075")

        events_coll = fudge.Fake("events_coll")
        events_coll.remember_order()

        update = events_coll.expects("update")
        save = OrderedDict(
            [
                ("ubernear.lookup_failed.when", datetime(2011, 11, 16, 2, 50, 32)),
                ("ubernear.lookup_failed.reason", "Response id is different"),
            ]
        )
        update.with_args(
            OrderedDict([("_id", "226680217397995")]), OrderedDict([("$set", save)]), upsert=True, safe=True
        )

        update = events_coll.next_call("update")
        save = OrderedDict(
            [
                ("facebook.title", "event title 267558763278075"),
                ("facebook.id", "267558763278075"),
                ("facebook.start_time", datetime(2012, 1, 15, 21, 23)),
                ("facebook.end_time", datetime(2012, 1, 16, 5, 22)),
                ("ubernear.source", "facebook"),
                ("ubernear.lookup_completed", datetime(2011, 11, 16, 2, 50, 32)),
            ]
        )
        update.with_args(
            OrderedDict([("_id", "267558763278075")]), OrderedDict([("$set", save)]), upsert=True, safe=True
        )

        events = [OrderedDict([("_id", "226680217397995")]), OrderedDict([("_id", "267558763278075")])]
        facebook_event._save_events(
            events=events,
            events_coll=events_coll,
            graph=fake_graph,
            now=datetime(2011, 11, 16, 2, 50, 32),
            _log=fake_log,
        )
コード例 #5
0
    def test_save_events_location(self):
        fake_graph = fudge.Fake("graph")
        fake_graph.remember_order()

        batch = fake_graph.expects("batch")
        request = [
            OrderedDict([("method", "GET"), ("relative_url", "226680217397995?date_format=c")]),
            OrderedDict([("method", "GET"), ("relative_url", "267558763278075?date_format=c")]),
        ]
        batch.with_args(request)
        batch.returns(
            [
                OrderedDict(
                    [
                        ("title", "event title 226680217397995"),
                        ("id", "226680217397995"),
                        ("start_time", "2012-02-26T08:00:00+00:00"),
                        ("end_time", "2012-02-26T11:00:00+00:00"),
                    ]
                ),
                OrderedDict(
                    [
                        ("title", "event title 267558763278075"),
                        ("id", "267558763278075"),
                        ("venue", OrderedDict([("latitude", 37.78739108147), ("longitude", -122.40981954615)])),
                        ("start_time", "2012-02-26T08:00:00+00:00"),
                        ("end_time", "2012-02-26T11:00:00+00:00"),
                    ]
                ),
            ]
        )

        fake_log = fudge.Fake("log")
        fake_log.remember_order()

        debug = fake_log.expects("debug")
        debug.with_args("Storing event 226680217397995")

        debug = fake_log.next_call("debug")
        debug.with_args("Storing event 267558763278075")

        events_coll = fudge.Fake("events_coll")
        events_coll.remember_order()

        update = events_coll.expects("update")
        save = OrderedDict(
            [
                ("facebook.title", "event title 226680217397995"),
                ("facebook.id", "226680217397995"),
                ("facebook.start_time", datetime(2012, 2, 26, 8, 0, 0)),
                ("facebook.end_time", datetime(2012, 2, 26, 11, 0, 0)),
                ("ubernear.source", "facebook"),
                ("ubernear.lookup_completed", datetime(2011, 11, 16, 2, 50, 32)),
            ]
        )
        update.with_args(
            OrderedDict([("_id", "226680217397995")]), OrderedDict([("$set", save)]), upsert=True, safe=True
        )

        update = events_coll.next_call("update")
        save = OrderedDict(
            [
                ("facebook.title", "event title 267558763278075"),
                ("facebook.id", "267558763278075"),
                ("facebook.venue.latitude", 37.78739108147),
                ("facebook.venue.longitude", -122.40981954615),
                ("facebook.start_time", datetime(2012, 2, 26, 8, 0, 0)),
                ("facebook.end_time", datetime(2012, 2, 26, 11, 0, 0)),
                ("ubernear.source", "facebook"),
                ("ubernear.lookup_completed", datetime(2011, 11, 16, 2, 50, 32)),
            ]
        )
        update.with_args(
            OrderedDict([("_id", "267558763278075")]), OrderedDict([("$set", save)]), upsert=True, safe=True
        )

        events = [OrderedDict([("_id", "226680217397995")]), OrderedDict([("_id", "267558763278075")])]
        facebook_event._save_events(
            events=events,
            events_coll=events_coll,
            graph=fake_graph,
            now=datetime(2011, 11, 16, 2, 50, 32),
            _log=fake_log,
        )
コード例 #6
0
    def test_save_events_empty_events(self):
        fake_log = fudge.Fake("log")
        fake_graph = fudge.Fake("graph")
        events_coll = fudge.Fake("events_coll")

        facebook_event._save_events(events=[], events_coll=events_coll, graph=fake_graph, now="foo now", _log=fake_log)