Files
PyGithub/tests/RawData.py
T
TechnicalPirate 78d283b9b5 Updated setup.py to exclude tests (#1031)
# Problem #
The `.whl` available on PyPi for this repository contains its entire `tests` submodule. 

The total size of the `pygithub` module is less than `1mb` without tests and `>23mb` with. 

Previous discussions on this topic indicated the removal of tests would be accepted if someone created a pull request to do so: https://github.com/PyGithub/PyGithub/issues/672 

This is that pull request! 😄

# Solution/Implementation # 

- Moved "tests" to root of the repository ( outside the package ) 
    - Added `tests.` module path to the imports in `AllTests.py`
- Updated `setup.py`
    - Removed `package_data` from product
    - Removed "tests" from packages definition
    - Repointed `test_suite` to new location
- Updated `travis.yml`
    - Added conditional ( if not `py2.7` ) conversion of code to `py3`

_... apologies for all the failed build spam below - new to working with Travis CI / had some gotcha moments!_
2019-04-16 11:45:02 +08:00

103 lines
4.9 KiB
Python

# -*- coding: utf-8 -*-
############################ Copyrights and license ############################
# #
# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net> #
# Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com> #
# Copyright 2018 sfdye <tsfdye@gmail.com> #
# #
# This file is part of PyGithub. #
# http://pygithub.readthedocs.io/ #
# #
# PyGithub is free software: you can redistribute it and/or modify it under #
# the terms of the GNU Lesser General Public License as published by the Free #
# Software Foundation, either version 3 of the License, or (at your option) #
# any later version. #
# #
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
# details. #
# #
# You should have received a copy of the GNU Lesser General Public License #
# along with PyGithub. If not, see <http://www.gnu.org/licenses/>. #
# #
################################################################################
import Framework
import github.NamedUser
class RawData(Framework.TestCase):
jacquev6RawData = {
'disk_usage': 13812,
'private_gists': 5,
'public_repos': 21,
'subscriptions_url': 'https://api.github.com/users/jacquev6/subscriptions',
'gravatar_id': 'b68de5ae38616c296fa345d2b9df2225',
'hireable': False,
'id': 327146,
'followers_url': 'https://api.github.com/users/jacquev6/followers',
'following_url': 'https://api.github.com/users/jacquev6/following',
'collaborators': 1,
'total_private_repos': 4,
'blog': 'http://vincent-jacques.net',
'followers': 22,
'location': 'Paris, France',
'type': 'User',
'email': 'vincent@vincent-jacques.net',
'bio': '',
'gists_url': 'https://api.github.com/users/jacquev6/gists{/gist_id}',
'owned_private_repos': 4,
'company': 'Criteo',
'events_url': 'https://api.github.com/users/jacquev6/events{/privacy}',
'html_url': 'https://github.com/jacquev6',
'updated_at': '2013-03-12T22:13:32Z',
'plan': {
'collaborators': 1,
'name': 'micro',
'private_repos': 5,
'space': 614400,
},
'received_events_url': 'https://api.github.com/users/jacquev6/received_events',
'starred_url': 'https://api.github.com/users/jacquev6/starred{/owner}{/repo}',
'public_gists': 2,
'name': 'Vincent Jacques',
'organizations_url': 'https://api.github.com/users/jacquev6/orgs',
'url': 'https://api.github.com/users/jacquev6',
'created_at': '2010-07-09T06:10:06Z',
'avatar_url': 'https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png',
'repos_url': 'https://api.github.com/users/jacquev6/repos',
'following': 38,
'login': 'jacquev6',
}
planRawData = {
'collaborators': 1,
'name': 'micro',
'private_repos': 5,
'space': 614400,
}
def testCompletedObject(self):
user = self.g.get_user("jacquev6")
self.assertTrue(user._CompletableGithubObject__completed)
self.assertEqual(user.raw_data, RawData.jacquev6RawData)
def testNotYetCompletedObject(self):
user = self.g.get_user().get_repo("PyGithub").owner
self.assertFalse(user._CompletableGithubObject__completed)
self.assertEqual(user.raw_data, RawData.jacquev6RawData)
self.assertTrue(user._CompletableGithubObject__completed)
def testNonCompletableObject(self):
plan = self.g.get_user().plan
self.assertEqual(plan.raw_data, RawData.planRawData)
def testCreateObjectFromRawData(self):
user = self.g.create_from_raw_data(github.NamedUser.NamedUser, RawData.jacquev6RawData)
self.assertEqual(user._CompletableGithubObject__completed, True)
self.assertEqual(user.name, "Vincent Jacques")