def test_serializer(self):
        json = {
            "total_descent": 300,
            "city": "Littleton",
            "data_source": None,
            "description": "This is a super-simplified route of my commute.",
            "updated_datetime": "2014-01-05T14:59:28+00:00",
            "created_datetime": "2014-01-05T14:59:28+00:00",
            "country": "US",
            "start_point_type": "",
            "starting_location": {"type": "Point", "coordinates": [0, 0]},
            "distance": 25749.5,
            "total_ascent": 600,
            "climbs": None,
            "state": "CO",
            "points": [
                {"lat": 39.5735, "lng": -105.0164},
                {"lat": 39.6781, "lng": -104.9926},
                {"lat": 39.75009, "lng": -104.99656},
            ],
            "postal_code": "",
            "min_elevation": 1500,
            "_links": {
                "documentation": [{"href": "https://developer.mapmyapi.com/docs/Route"}],
                "privacy": [{"href": "/v7.0/privacy_option/0/", "id": "0"}],
                "self": [{"href": "/v7.0/route/341663347/?field_set=detailed", "id": "341663347"}],
                "alternate": [
                    {"href": "/v7.0/route/341663347/?format=kml&field_set=detailed", "id": "341663347", "name": "kml"}
                ],
                "user": [{"href": "/v7.0/user/9118466/", "id": "9118466"}],
                "thumbnail": [{"href": "//images.mapmycdn.com/routes/thumbnail/341663347?size=100x100"}],
            },
            "max_elevation": 1700,
            "name": "MileHigh10k",
        }
        serializer = RouteSerializer(json)
        route = serializer.serialized

        self.assertEqual(route.id, 341663347)
        self.assertEqual(route.name, json["name"])
        self.assertEqual(route.description, json["description"])
        self.assertEqual(route.distance, json["distance"])
        self.assertTrue(isinstance(route.points(), (list, tuple)) and len(route.points()) == 3)
        self.assertTrue(
            isinstance(route.points(geojson=True), dict) and len(route.points(geojson=True)["coordinates"]) == 3
        )
        self.assertEqual(route.ascent, 600)
        self.assertEqual(route.descent, 300)
        self.assertEqual(route.min_elevation, 1500)
        self.assertEqual(route.max_elevation, 1700)
        self.assertEqual(route.city, "Littleton")
        self.assertEqual(route.state, "CO")
        self.assertEqual(route.country, "US")
        self.assertEqual(route.privacy, "Private")
        self.assertEqual(route.created_datetime, iso_format_to_datetime(json["created_datetime"]))
        self.assertEqual(route.updated_datetime, iso_format_to_datetime(json["updated_datetime"]))
    def test_serializer(self):
        json = {'start_datetime': '2011-06-22T15:27:00+00:00', 'name': 'Bike to Work Day - return', 'updated_datetime': '2012-02-09T19:15:38+00:00', 'created_datetime': '2012-02-09T19:14:43+00:00', 'aggregates': {'active_time_total': 4119, 'distance_total': 20985.84576, 'speed_max': 25.179483296000001, 'steps_total': 0, 'speed_avg': 5.0948701759999997, 'elapsed_time_total': 4080, 'metabolic_energy_total': 2422536}, 'reference_key': '2011-06-2215:27:08+00:00', 'start_locale_timezone': "'murica/Denver", 'source': 'UnknownFile(http://ridewithgps.com/:gpx)', '_links': {'user': [{'href': '/v7.0/user/9118466/', 'id': '9118466'}], 'self': [{'href': '/v7.0/workout/93093928/', 'id': '93093928'}], 'privacy': [{'href': '/v7.0/privacy_option/1/', 'id': '1'}], 'route': [{'href': '/v7.0/route/68443498/', 'id': '68443498'}], 'activity_type': [{'href': '/v7.0/activity_type/11/', 'id': '11'}]}, 'has_time_series': True}
        serializer = WorkoutSerializer(json)
        workout = serializer.serialized

        self.assertEqual(workout.id, 93093928)
        self.assertEqual(workout.name, 'Bike to Work Day - return')
        self.assertEqual(workout.start_datetime, iso_format_to_datetime(json['start_datetime']))
        self.assertEqual(workout.created_datetime, iso_format_to_datetime(json['created_datetime']))
        self.assertEqual(workout.updated_datetime, iso_format_to_datetime(json['updated_datetime']))
        self.assertEqual(workout.start_locale_timezone, "'murica/Denver")
        self.assertEqual(workout.source, 'UnknownFile(http://ridewithgps.com/:gpx)')
        self.assertEqual(workout.active_time_total, 4119)
        self.assertEqual(workout.distance_total, 20985.84576)
        self.assertEqual(workout.steps_total, 0)
        self.assertEqual(workout.elapsed_time_total, 4080)
        self.assertEqual(workout.metabolic_energy_total, 2422536)
        self.assertEqual(workout.speed_max, 25.179483296000001)
        self.assertEqual(workout.speed_avg, 5.0948701759999997)
        self.assertEqual(workout.activity_type_id, 11)
        self.assertEqual(workout.privacy, 'Friends')
        self.assertTrue(workout.has_time_series)
    def test_serializer(self):
        json = {'start_datetime': '2011-06-22T15:27:00+00:00', 'name': 'Bike to Work Day - return', 'updated_datetime': '2012-02-09T19:15:38+00:00', 'created_datetime': '2012-02-09T19:14:43+00:00', 'aggregates': {'active_time_total': 4119, 'distance_total': 20985.84576, 'speed_max': 25.179483296000001, 'steps_total': 0, 'speed_avg': 5.0948701759999997, 'elapsed_time_total': 4080, 'metabolic_energy_total': 2422536}, 'reference_key': '2011-06-2215:27:08+00:00', 'start_locale_timezone': "'murica/Denver", 'source': 'UnknownFile(http://ridewithgps.com/:gpx)', '_links': {'user': [{'href': '/v7.0/user/9118466/', 'id': '9118466'}], 'self': [{'href': '/v7.0/workout/93093928/', 'id': '93093928'}], 'privacy': [{'href': '/v7.0/privacy_option/1/', 'id': '1'}], 'route': [{'href': '/v7.0/route/68443498/', 'id': '68443498'}], 'activity_type': [{'href': '/v7.0/activity_type/11/', 'id': '11'}]}, 'has_time_series': True}
        serializer = WorkoutSerializer(json)
        workout = serializer.serialized

        self.assertEqual(workout.id, 93093928)
        self.assertEqual(workout.name, 'Bike to Work Day - return')
        self.assertEqual(workout.start_datetime, iso_format_to_datetime(json['start_datetime']))
        self.assertEqual(workout.created_datetime, iso_format_to_datetime(json['created_datetime']))
        self.assertEqual(workout.updated_datetime, iso_format_to_datetime(json['updated_datetime']))
        self.assertEqual(workout.start_locale_timezone, "'murica/Denver")
        self.assertEqual(workout.source, 'UnknownFile(http://ridewithgps.com/:gpx)')
        self.assertEqual(workout.active_time_total, 4119)
        self.assertEqual(workout.distance_total, 20985.84576)
        self.assertEqual(workout.steps_total, 0)
        self.assertEqual(workout.elapsed_time_total, 4080)
        self.assertEqual(workout.metabolic_energy_total, 2422536)
        self.assertEqual(workout.speed_max, 25.179483296000001)
        self.assertEqual(workout.speed_avg, 5.0948701759999997)
        self.assertEqual(workout.activity_type_id, 11)
        self.assertEqual(workout.privacy, 'Friends')
        self.assertTrue(workout.has_time_series)
    def test_serializer(self):
        user_json = {"username":"******","first_name":"Jason","last_name":"Sanford","display_name":"Jason Sanford","last_initial":"S.","weight":91.17206637,"communication":{"promotions":True,"newsletter":True,"system_messages":True},"display_measurement_system":"imperial","time_zone":"America/Denver","birthdate":"1983-04-15","height":1.778,"sharing":{"twitter":False,"facebook":False},"last_login":"******","location":{"country":"US","region":"CO","address":"7910 S BemisSt","locality":"Littleton"},"gender":"M","id":9118466,"_links":{"stats":[{"href":"/v7.0/user_stats/9118466/?aggregate_by_period=month","id":"9118466","name":"month"},{"href":"/v7.0/user_stats/9118466/?aggregate_by_period=year","id":"9118466","name":"year"},{"href":"/v7.0/user_stats/9118466/?aggregate_by_period=day","id":"9118466","name":"day"},{"href":"/v7.0/user_stats/9118466/?aggregate_by_period=week","id":"9118466","name":"week"},{"href":"/v7.0/user_stats/9118466/?aggregate_by_period=lifetime","id":"9118466","name":"lifetime"}],"privacy":[{"href":"/v7.0/privacy_option/3/","id":"3","name":"profile"},{"href":"/v7.0/privacy_option/3/","id":"3","name":"workout"},{"href":"/v7.0/privacy_option/3/","id":"3","name":"activity_feed"},{"href":"/v7.0/privacy_option/1/","id":"1","name":"food_log"},{"href":"/v7.0/privacy_option/3/","id":"3","name":"email_search"},{"href":"/v7.0/privacy_option/3/","id":"3","name":"route"}],"image":[{"href":"/v7.0/user_profile_photo/9118466/","id":"9118466","name":"user_profile_photo"}],"documentation":[{"href":"https://developer.mapmyapi.com/docs/User"}],"deactivation":[{"href":"/v7.0/user_deactivation/"}],"friendships":[{"href":"/v7.0/friendship/?from_user=9118466"}],"workouts":[{"href":"/v7.0/workout/?user=9118466&order_by=-start_datetime"}],"self":[{"href":"/v7.0/user/9118466/","id":"9118466"}]},"email":"*****@*****.**","date_joined":"2011-08-26T06:06:19+00:00"}
        serializer = UserSerializer(user_json)
        user = serializer.serialized

        self.assertEqual(user.id, 9118466)
        self.assertEqual(user.username, 'JasonSanford')
        self.assertEqual(user.first_name, 'Jason')
        self.assertEqual(user.last_name, 'Sanford')
        self.assertEqual(user.email, '*****@*****.**')
        self.assertEqual(user.time_zone, 'America/Denver')
        self.assertEqual(user.birthdate, datetime.date(1983, 4, 15))
        self.assertEqual(user.display_measurement_system, user_json['display_measurement_system'])
        self.assertEqual(user.gender, 'M')
        self.assertEqual(user.height, 1.778)
        self.assertEqual(user.weight, 91.17206637)
        self.assertTrue('address' in user.location and 'locality' in user.location and 'region' in user.location and 'country' in user.location)
        self.assertEqual(user.join_datetime, iso_format_to_datetime(user_json['date_joined']))
Exemple #5
0
    def test_serializer(self):
        user_json = {
            "username": "******",
            "first_name": "Jason",
            "last_name": "Sanford",
            "display_name": "Jason Sanford",
            "last_initial": "S.",
            "weight": 91.17206637,
            "communication": {
                "promotions": True,
                "newsletter": True,
                "system_messages": True
            },
            "display_measurement_system": "imperial",
            "time_zone": "America/Denver",
            "birthdate": "1983-04-15",
            "height": 1.778,
            "sharing": {
                "twitter": False,
                "facebook": False
            },
            "last_login": "******",
            "location": {
                "country": "US",
                "region": "CO",
                "address": "7910 S BemisSt",
                "locality": "Littleton"
            },
            "gender": "M",
            "id": 9118466,
            "_links": {
                "stats": [{
                    "href":
                    "/v7.0/user_stats/9118466/?aggregate_by_period=month",
                    "id": "9118466",
                    "name": "month"
                }, {
                    "href":
                    "/v7.0/user_stats/9118466/?aggregate_by_period=year",
                    "id": "9118466",
                    "name": "year"
                }, {
                    "href":
                    "/v7.0/user_stats/9118466/?aggregate_by_period=day",
                    "id": "9118466",
                    "name": "day"
                }, {
                    "href":
                    "/v7.0/user_stats/9118466/?aggregate_by_period=week",
                    "id": "9118466",
                    "name": "week"
                }, {
                    "href":
                    "/v7.0/user_stats/9118466/?aggregate_by_period=lifetime",
                    "id": "9118466",
                    "name": "lifetime"
                }],
                "privacy": [{
                    "href": "/v7.0/privacy_option/3/",
                    "id": "3",
                    "name": "profile"
                }, {
                    "href": "/v7.0/privacy_option/3/",
                    "id": "3",
                    "name": "workout"
                }, {
                    "href": "/v7.0/privacy_option/3/",
                    "id": "3",
                    "name": "activity_feed"
                }, {
                    "href": "/v7.0/privacy_option/1/",
                    "id": "1",
                    "name": "food_log"
                }, {
                    "href": "/v7.0/privacy_option/3/",
                    "id": "3",
                    "name": "email_search"
                }, {
                    "href": "/v7.0/privacy_option/3/",
                    "id": "3",
                    "name": "route"
                }],
                "image": [{
                    "href": "/v7.0/user_profile_photo/9118466/",
                    "id": "9118466",
                    "name": "user_profile_photo"
                }],
                "documentation": [{
                    "href":
                    "https://developer.mapmyapi.com/docs/User"
                }],
                "deactivation": [{
                    "href": "/v7.0/user_deactivation/"
                }],
                "friendships": [{
                    "href": "/v7.0/friendship/?from_user=9118466"
                }],
                "workouts": [{
                    "href":
                    "/v7.0/workout/?user=9118466&order_by=-start_datetime"
                }],
                "self": [{
                    "href": "/v7.0/user/9118466/",
                    "id": "9118466"
                }]
            },
            "email": "*****@*****.**",
            "date_joined": "2011-08-26T06:06:19+00:00"
        }
        serializer = UserSerializer(user_json)
        user = serializer.serialized

        self.assertEqual(user.id, 9118466)
        self.assertEqual(user.username, 'JasonSanford')
        self.assertEqual(user.first_name, 'Jason')
        self.assertEqual(user.last_name, 'Sanford')
        self.assertEqual(user.email, '*****@*****.**')
        self.assertEqual(user.time_zone, 'America/Denver')
        self.assertEqual(user.birthdate, datetime.date(1983, 4, 15))
        self.assertEqual(user.display_measurement_system,
                         user_json['display_measurement_system'])
        self.assertEqual(user.gender, 'M')
        self.assertEqual(user.height, 1.778)
        self.assertEqual(user.weight, 91.17206637)
        self.assertTrue('address' in user.location
                        and 'locality' in user.location
                        and 'region' in user.location
                        and 'country' in user.location)
        self.assertEqual(user.join_datetime,
                         iso_format_to_datetime(user_json['date_joined']))
    def test_serializer(self):
        json = {
            "total_descent":
            300,
            "city":
            "Littleton",
            "data_source":
            None,
            "description":
            "This is a super-simplified route of my commute.",
            "updated_datetime":
            "2014-01-05T14:59:28+00:00",
            "created_datetime":
            "2014-01-05T14:59:28+00:00",
            "country":
            "US",
            "start_point_type":
            "",
            "starting_location": {
                "type": "Point",
                "coordinates": [0, 0]
            },
            "distance":
            25749.5,
            "total_ascent":
            600,
            "climbs":
            None,
            "state":
            "CO",
            "points": [{
                "lat": 39.5735,
                "lng": -105.0164
            }, {
                "lat": 39.6781,
                "lng": -104.9926
            }, {
                "lat": 39.75009,
                "lng": -104.99656
            }],
            "postal_code":
            "",
            "min_elevation":
            1500,
            "_links": {
                "documentation": [{
                    "href":
                    "https://developer.mapmyapi.com/docs/Route"
                }],
                "privacy": [{
                    "href": "/v7.0/privacy_option/0/",
                    "id": "0"
                }],
                "self": [{
                    "href": "/v7.0/route/341663347/?field_set=detailed",
                    "id": "341663347"
                }],
                "alternate": [{
                    "href":
                    "/v7.0/route/341663347/?format=kml&field_set=detailed",
                    "id": "341663347",
                    "name": "kml"
                }],
                "user": [{
                    "href": "/v7.0/user/9118466/",
                    "id": "9118466"
                }],
                "thumbnail": [{
                    "href":
                    "//images.mapmycdn.com/routes/thumbnail/341663347?size=100x100"
                }]
            },
            "max_elevation":
            1700,
            "name":
            "MileHigh10k"
        }
        serializer = RouteSerializer(json)
        route = serializer.serialized

        self.assertEqual(route.id, 341663347)
        self.assertEqual(route.name, json['name'])
        self.assertEqual(route.description, json['description'])
        self.assertEqual(route.distance, json['distance'])
        self.assertTrue(
            isinstance(route.points(), (list, tuple))
            and len(route.points()) == 3)
        self.assertTrue(
            isinstance(route.points(geojson=True), dict)
            and len(route.points(geojson=True)['coordinates']) == 3)
        self.assertEqual(route.ascent, 600)
        self.assertEqual(route.descent, 300)
        self.assertEqual(route.min_elevation, 1500)
        self.assertEqual(route.max_elevation, 1700)
        self.assertEqual(route.city, 'Littleton')
        self.assertEqual(route.state, 'CO')
        self.assertEqual(route.country, 'US')
        self.assertEqual(route.privacy, 'Private')
        self.assertEqual(route.created_datetime,
                         iso_format_to_datetime(json['created_datetime']))
        self.assertEqual(route.updated_datetime,
                         iso_format_to_datetime(json['updated_datetime']))