def test_build_people_track_charge_params(self): self.maxDiff = None et = PeopleTracker() now = datetime.now() FakeDateTime.now = classmethod(lambda cls: now) event = u'track_charge' is_test = 1 properties = {u'amount': 11.77, u'distinct_id': u'test_id', u'token': u'testtoken', u'extra': u'extra'} expected = { u'$append': { u'$transactions': { u'$amount': 11.77, u'$time': unicode(now.isoformat()), u'extra': 'extra' } }, u'$distinct_id': u'test_id', u'$token': u'testtoken', } url_params = et._build_params(event, properties, is_test) parsed = dict(urlparse.parse_qsl(url_params, True)) parsed[u'data'] = simplejson.loads(base64.b64decode(parsed['data'])) expected_params = { u'data': expected, u'test': unicode(is_test), } self.assertEqual(expected_params, parsed)
def test_build_people_set_params(self): et = PeopleTracker() event = 'set' is_test = 1 properties = { 'stuff': 'thing', 'blue': 'green', 'distinct_id': 'test_id', 'token': 'testtoken', 'ip': '173.194.40.212' } expected = { '$distinct_id': 'test_id', '$ip': '173.194.40.212', '$token': 'testtoken', '$set': { 'stuff': 'thing', 'blue': 'green', }, } url_params = et._build_params(event, properties, is_test) expected_params = urllib.urlencode({ 'data': base64.b64encode(simplejson.dumps(expected)), 'test': is_test, }) self.assertEqual(expected_params, url_params)
def test_build_people_track_charge_params(self): et = PeopleTracker() now = datetime.now() FakeDateTime.now = classmethod(lambda cls: now) event = 'track_charge' is_test = 1 properties = {'amount': 11.77, 'distinct_id': 'test_id', 'token': 'testtoken'} expected = { '$append': { '$transactions': { '$amount': 11.77, '$time': now.isoformat(), } }, '$distinct_id': 'test_id', '$token': 'testtoken', } url_params = et._build_params(event, properties, is_test) expected_params = urllib.urlencode({ 'data': base64.b64encode(simplejson.dumps(expected)), 'test': is_test, }) self.assertEqual(expected_params, url_params)
def test_build_people_set_params(self): et = PeopleTracker() event = 'set' is_test = 1 properties = { 'stuff': 'thing', 'blue': 'green', 'distinct_id': 'test_id', 'token': 'testtoken' } expected = { '$distinct_id': 'test_id', '$set': { 'stuff': 'thing', 'blue': 'green', }, '$token': 'testtoken', } url_params = et._build_params(event, properties, is_test) expected_params = urllib.urlencode({ 'data': base64.b64encode(simplejson.dumps(expected)), 'test': is_test, }) self.assertEqual(expected_params, url_params)
def test_build_people_track_charge_params(self): self.maxDiff = None et = PeopleTracker() now = datetime.now() FakeDateTime.now = classmethod(lambda cls: now) event = u'track_charge' is_test = 1 properties = { u'amount': 11.77, u'distinct_id': u'test_id', u'token': u'testtoken', u'extra': u'extra' } expected = { u'$append': { u'$transactions': { u'$amount': 11.77, u'$time': unicode(now.isoformat()), u'extra': 'extra' } }, u'$distinct_id': u'test_id', u'$token': u'testtoken', } url_params = et._build_params(event, properties, is_test) parsed = dict(urlparse.parse_qsl(url_params, True)) parsed[u'data'] = simplejson.loads(base64.b64decode(parsed['data'])) expected_params = { u'data': expected, u'test': unicode(is_test), } self.assertEqual(expected_params, parsed)
def test_build_people_track_charge_params(self): et = PeopleTracker() now = datetime.now() FakeDateTime.now = classmethod(lambda cls: now) event = 'track_charge' is_test = 1 properties = { 'amount': 11.77, 'distinct_id': 'test_id', 'token': 'testtoken' } expected = { '$append': { '$transactions': { '$amount': 11.77, '$time': now.isoformat(), } }, '$distinct_id': 'test_id', '$token': 'testtoken', } url_params = et._build_params(event, properties, is_test) expected_params = urllib.urlencode({ 'data': base64.b64encode(simplejson.dumps(expected)), 'test': is_test, }) self.assertEqual(expected_params, url_params)
def test_build_people_set_params(self): et = PeopleTracker() event = 'set' properties = {'stuff': 'thing', 'blue': 'green', 'distinct_id': 'test_id'} params = et._build_params(event, properties, token='testtoken') expected = { '$distinct_id': 'test_id', '$set': { 'stuff': 'thing', 'blue': 'green', }, '$token': 'testtoken', } self.assertEqual(params, expected)
def test_build_people_set_params(self): et = PeopleTracker() event = 'set' properties = { 'stuff': 'thing', 'blue': 'green', 'distinct_id': 'test_id' } params = et._build_params(event, properties, token='testtoken') expected = { '$distinct_id': 'test_id', '$set': { 'stuff': 'thing', 'blue': 'green', }, '$token': 'testtoken', } self.assertEqual(params, expected)
def test_build_people_track_charge_params(self): self.maxDiff = None et = PeopleTracker() now = datetime.utcnow() FakeDateTime.utcnow = classmethod(lambda cls: now) event = 'track_charge' properties = {'amount': 11.77, 'distinct_id': 'test_id', 'extra': 'extra'} params = et._build_params(event, properties, token='testtoken') expected = { '$append': { '$transactions': { '$amount': 11.77, '$time': text_type(now.isoformat()), 'extra': 'extra' } }, '$distinct_id': 'test_id', '$token': 'testtoken', } self.assertEqual(params, expected)
def test_build_people_track_charge_params(self): self.maxDiff = None et = PeopleTracker() now = datetime.utcnow() FakeDateTime.utcnow = classmethod(lambda cls: now) event = 'track_charge' properties = { 'amount': 11.77, 'distinct_id': 'test_id', 'extra': 'extra' } params = et._build_params(event, properties, token='testtoken') expected = { '$append': { '$transactions': { '$amount': 11.77, '$time': text_type(now.isoformat()), 'extra': 'extra' } }, '$distinct_id': 'test_id', '$token': 'testtoken', } self.assertEqual(params, expected)