Пример #1
0
def test():
    '''Tests Catalog.degrees.'''

    catalog = udacity.Catalog()
    degrees = catalog.degrees()
    assert type(degrees) is list
    assert [x for x in degrees if x['key'] == 'nd001'][0] is not None
Пример #2
0
def test_get_malformed():
    '''Tests Catalog.__get, with the wrong URL.'''

    catalog = udacity.Catalog()
    catalog.url = 'https://www.udacity.com/fake'

    assert_raises(HTTPError, catalog.all)
Пример #3
0
def test_cs101():
    '''Tests Catalog.course('cs101').'''

    catalog = udacity.Catalog()
    assert type(catalog.course('cs101')) is dict
    assert len(catalog.course('cs101')) == 29
    assert catalog.course('cs101').get('key') == 'cs101'
Пример #4
0
def test_data_sci():
    '''Tests Catalog.track(name), with the "Data Science" track.'''

    catalog = udacity.Catalog()
    ds = catalog.track('Data Science')
    assert type(ds) is dict
    assert ds['name'] == "Data Science"
Пример #5
0
def test_empty():
    '''Tests Catalog.clear with no existing data.'''

    catalog = udacity.Catalog()
    assert_dict_equal(catalog.cache.data, {})
    catalog.clear()
    assert_dict_equal(catalog.cache.data, {})
def test():
    '''Tests Catalog.tracks.'''

    catalog = udacity.Catalog()
    assert type(catalog.tracks()) is list
    tracks = catalog.tracks()
    assert tracks[0].get('name') is not None
Пример #7
0
def test_cs101():
    '''Tests Catalog.instructors('cs101').'''

    catalog = udacity.Catalog()
    i = catalog.instructors('cs101')
    assert type(i) is list
    assert len(i[0]) is 4
    assert set(i[0].keys()) == {'bio', 'image', 'name', 'key'}
Пример #8
0
def test_filled():
    '''Tests Catalog.clear with existing data.'''

    catalog = udacity.Catalog()
    assert_dict_equal(catalog.cache.data, {})
    courses = catalog.all()
    assert catalog.cache.data.get('catalog') is not None
    catalog.clear()
    assert_dict_equal(catalog.cache.data, {})
def test_courses():
    '''Tests Catalog.courses.'''

    catalog = udacity.Catalog()
    courses = catalog.courses()
    assert type(courses) is list
    assert len(courses[0]) == 29

    keys = [
        'instructors',
        'subtitle',
        'key',
        'image',
        'syllabus',
        'assistants',
        'summary',
        'starter'
    ]

    for k in keys:
        assert k in courses[0]
Пример #10
0
def test_invalid():
    '''Tests Catalog.course with an invalid key.'''

    catalog = udacity.Catalog()
    assert_raises(IndexError, catalog.course, 'fake_course_key')
Пример #11
0
def test_malformed():
    '''Tests Catalog.track with a non-existant track name.'''

    catalog = udacity.Catalog()
    assert_raises(IndexError, catalog.track, 'aaaaaa')
Пример #12
0
def test_get():
    '''Tests Catalog.__get.'''

    catalog = udacity.Catalog()
    assert type(catalog.all()) is dict
Пример #13
0
# робота з API Udacity з допомогою програми-оболонки
# та використання python-бібліотеки udacity
import udacity

c = udacity.Catalog()

tracks = c.tracks()

track_names = [t['name'] for t in tracks]
web_dev_teachers = c.instructors('cs253')
nd001_description = c.degree('nd001')['expected_learning']
print(track_names)

# спосіб роботи з API безпосередньо наданий Udacity, використовує JSON
# import json
# import urllib.request
# response = urllib.request.urlopen('https://udacity.com/public-api/v0/courses')
# json_response = json.loads(response.read().decode('utf8'))
# for course in json_response['courses']:
#     print(course['title'])
#     print(course['homepage'])
Пример #14
0
def test():
    '''Tests Catalog.__init__ with default options.'''

    catalog = udacity.Catalog()
    assert_dict_equal(catalog.cache.data, {})
    assert catalog.url == 'https://www.udacity.com/public-api/v0/courses?projection=internal'
Пример #15
0
def test_all():
    '''Tests Catalog.all.'''

    catalog = udacity.Catalog()
    assert set(catalog.all().keys()) == {'courses', 'tracks', 'degrees'}
Пример #16
0
def test_fake():
    '''Tests Catalog.instructors, with a fake course key.'''

    catalog = udacity.Catalog()
    assert_raises(IndexError, catalog.instructors, 'fake')