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, )
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, )
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, )
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, )
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, )
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)