Commit Graph
126 Commits
Author SHA1 Message Date
Andy Grunwald 1c55be5174 Fix #1507: Add new Teams: Add or update team repository endpoint (#1509)
* Add new Team.update_team_repository()

* Mark Team.set_repo_permission() as deprecated

 Fixes #1507
2020-10-28 13:43:35 +11:00
Victor Zeng c23564ddbd Added support for Repository.get_workflow_runs parameters (#1682)
* Added support for `Repository.get_workflow_runs` parameters

* Added anchor tag to docstring link

* Tests
2020-10-28 13:37:59 +11:00
Florent Clarret ee4c7a7e9e feat(pullrequest): add the rebaseable attribute (#1690) 2020-10-26 16:44:31 +11:00
Huan-Cheng Chang f7d203c083 Add support for deleting reactions (#1708)
* Delete comment reactions

* Add test case

* update ignore-word-list

* Delete issue reactions

* Delete issue comment reactions

* Delete pull request comment reactions

* check status
2020-10-26 16:40:46 +11:00
Steve Kowalik 07e29fe014 Format with new black (#1679)
Black is very opinionated, but sometimes those opinions change. Run the
new black version across the codebase, and lock down the version used by
pre-commit so we don't get surprised like this again.
2020-09-02 14:59:09 +10:00
Steve Kowalik 2646a98c31 Test Organization.get_hook() (#1660)
Add a testcase for Organization.get_hook()
2020-08-18 18:14:20 +10:00
Tal Machani 749e8d359a Add method get_team_membership for user to Team (#1658)
* - Add method get_team_membership for user

* add typing get_team_membership for member

Fixes #1657
2020-08-18 17:45:01 +10:00
Steve Kowalik 69b37b4ab6 PaginatedList's totalCount is 0 if no last page (#1641)
When calculating totalCount for PaginatedList, if the links data does
not contain a last page, we can't know how many elements are contained
in the list. Set it to 0 in that case.

Fixes #1614
2020-08-09 19:05:04 +10:00
Mahesh Raju 260558c101 Add initial support for Github Apps. (#1631)
* Add initial support for Github Apps.

Needed for #1621
2020-08-09 19:04:41 +10:00
Jesse Li a778639362 upload_asset with data in memory (#1601)
* Expose upload from memory functionality
* Upload from memory basic test
* Test for custom file like object
* Reorganized existing release tests
* Remove docstrings & comments from tests
* Modify logic
* Explain why encode ignores its argument

Fixes #1140
2020-08-03 18:42:06 +10:00
Mahesh Raju 16850ef1ed Add support for workflow dispatch event (#1625)
* Add support for workflow dispatch event

Fixes: #1624
2020-07-30 16:43:05 +10:00
Jannis Gebauer 2002d8b2cb Merge pull request #1021 from rigaspapas/implement-apps-oauth-endpoints
Implement OAuth for apps
2020-07-20 11:51:32 +02:00
Colby Gallup 048c8a1df2 Add support for deployment statuses (#1588)
* Added DeploymentStatus class
* Added stubs for DeploymentStatus class
* Fixed headers for DeploymentStatus.py
* Added get/list/create deployment status methods
* Added DeploymentStatus repr
* Added attribute check tests for DeploymentStatus
* Added "create deployment status" test
* Added test for Deployment.get_statuses()
* Added Deployment.get_status() method

Fixes #1586
2020-07-02 12:27:05 +10:00
Daniel Haas 079f75a726 Adds the 'twitter_username' attribute to NamedUser. (#1585)
* Adds the 'twitter_username' attribute to NamedUser.
2020-06-27 14:43:48 +10:00
Steve Kowalik 4fb1d23f4d Add support for Workflow Runs (#1583)
To build on the previous work supporting querying Workflows for GitHub
Actions, add a class and relevant methods to support querying runs of a
workflow.
2020-06-26 20:47:42 +10:00
Steve Kowalik 925764add5 Clean up tests for GitReleaseAsset (#1546)
The test class for GitReleaseAsset did not match the filename, was also
the only class to include docstrings, and furthermore, repeated a lot of
fetches in the replay data.
2020-06-03 20:51:41 +10:00
Steve Kowalik 69bfc32511 Check all arguments of NamedUser.get_repos() (#1532)
The two unit tests for NamedUser.get_repos() did not check all
arguments, and this was the only method in the file that wasn't
completly covered. Re-record the replay data while passing all arguments
to the method.
2020-05-25 11:33:54 +10:00
Steve Kowalik 19fc43abf6 PullRequestReview is not a completable object (#1528)
While chasing coverage failures, I discovered PullRequestReview's do not
send back a URL at all, which means firstly, the url property is not
required because it will always be None, and secondly, the object can
never be completed. I'm not certain why this change broke the test, but
it looked brittle, refactor it to be clearer.
2020-05-21 09:59:05 +10:00
Steve Kowalik 52ec366be4 Test more attributes (#1526)
To increase coverage, sprinkle in some asserts for attributes that were
not checked -- this uncovered a bug in Issue that two attributes were
not properly initialized to NotSet.
2020-05-21 09:58:50 +10:00
Steve Kowalik 291c46303d Drastically increase coverage by checking repr() (#1521)
A lot of our missing coverage is caused by not checking repr(), which is
trivial enough to test against -- do so, and also clean up existing repr
tests to look the same by calling repr(). Where it was trivial, add a
few assertions about missing attributes.
2020-05-19 11:54:07 +10:00
Steve Kowalik 53d58d2b07 Remove Repository.topics (#1505)
The topics attribute has been replaced by Repository.get_topics(). To
reduce user confusion, delete the attribute.

Fixes #1504
2020-05-15 10:49:15 +10:00
Steve Kowalik 8727003fc8 Correct Repository.get_workflows() (#1518)
The API endpoint Repository.get_workflows() calls returns data in a list
item, not directly, leading to some head scratching when calling it
against GitHub. Re-record the replay data.
2020-05-14 16:45:01 +10:00
Steve Kowalik 09a1d9e4e7 Filter FutureWarning for 2 test cases (#1510)
There are two test cases that explicitly test with client_id and
client_secret, which means pytest helpfully tells us about them after
the test run concludes. We don't need to see them every run until we
drop the arguments, so filter them out for now.
2020-05-11 09:56:38 +10:00
Florent Clarret a32a896599 feat(column): move, edit and delete project columns (#1497)
Add support to move, edit and delete project columns.
2020-05-05 15:50:28 +10:00
Steve Kowalik a1ed7c0e2d Add support for Workflows (#1496)
To start supporting GitHub Actions, add the first part of that,
Workflow, which encapsulates a workflow over the API, along with
two methods on Repository to query them.
2020-05-05 15:49:45 +10:00
Florent Clarret 63855409b9 feature: get the project column by id (#1466)
Add a method to fetch a project column by id.

Fixes #1057
2020-05-01 12:01:09 +10:00
Rigas Papathanasopoulos 4b43711017 Add OAuth support for GitHub applications
Create the ApplicationOAuth class which is responsible for
handling a GitHub application's OAuth authorization process.
2020-04-28 22:10:48 +03:00
Rigas Papathanasopoulos 61808da15e Extend installation attributes 2020-04-28 21:59:54 +03:00
Steve Kowalik 84bb69abff Drop use of shadow-cat for draft PRs (#1469) 2020-04-26 10:05:20 +08:00
Florent Clarret e0997b438e Add and handle the maintainer_can_modify attribute in PullRequest (#1465) 2020-04-26 10:04:12 +08:00
Nikolay Edigaryev 5cf9950b25 Ability to retrieve public events (#1481) 2020-04-26 10:03:54 +08:00
Florent Clarret d3bc6a5cd2 List matching references (#1471) 2020-04-26 10:03:36 +08:00
Steve Kowalik 38b34db56e AuthenticatedUser.get_organization_membership() should be str (#1473) 2020-04-26 10:02:34 +08:00
Chris de Graaf edcbdfdaf9 Add create_repository_dispatch (#1449) 2020-04-26 09:59:34 +08:00
ton-katsu 3ab97d6145 Add some attributes. (#1468)
* Add some attributes to Repository and Organization

* Format.

* small fix

* Add some test.
2020-04-21 11:49:32 +10:00
chloe jungah kim bafc4efc76 fix param name of projectcard's move function (#1451)
* fix param name of projectcard's move function

* fix test failure
2020-04-16 21:38:19 +10:00
Steve Kowalik 0ebdbb2675 Export IncompletableObject in the github namespace (#1450)
When IncompletableObject was added, it was only added to
GithubException, and not imported directly into the github namespace
like other exceptions. Correct that, and clean up the resultant now
unrequired import.
2020-04-15 10:52:13 +10:00
Liuyang Wan af6cab5520 Reuse pre-commit checks in CI (#1442)
* Use pre-commit checks in CI

* Fix all issues flagged by mypy

* Update travis.yml to reflect testenv changes

* Update docs to use tox lint
2020-03-23 08:45:54 +08:00
Alice GIRARDandLiuyang Wan 91433fe925 Type stubs for mypy (#1231)
* First attempt at stubs

* fix AuthenticatedUser.piy

* fix PullRequest.piy

* fix Authorization.piy

* fix Branch.piy

* fix Clones.piy

* fix Commit.piy

* fix CommitCombinedStatus.piy

* fix CommitComment.piy

* fix CommitStatus.piy

* fix ContentFile.piy

* fix Download.piy

* fix Event.piy

* fix File.piy

* fix Gist.piy

* fix GistComment.piy

* fix GistFile.piy

* fix GitAuthor.piy

* fix GitBlob.piy

* fix GitCommit.piy

* fix GitRef.piy

* fix GitRelease.piy

* renamed stubs into pyi files

* fix Notification

* fix Repository

* fix GitReleaseAsset

* fix GitTag

* fix GitTree

* fix GitTreeElement

* fix GithubException

* fix GithubObject

* fix GitignoreTemplate

* fix HookDescription

* fix HookResponse

* fix InputGitAuthor

* fix Installation

* fix InstallationAuthorization

* fix Invitation

* fix Issue

* fix IssueComment

* Fix random issues found while testing

* fix IssuePullRequest

* fix Label

* fix License

* fix Migration

* fix Milestone

* fix NamedUser

* fix NotificationSubject

* fix Organization

* fix PaginatedList

* fix Path

* fix Permissions

* fix Plan

* fix Project

* fix ProjectCard

* fix ProjectColumn

* fix PullRequestComment

* fix PullRequestMergeStatus

* fix PullRequestPart

* fix PullRequestReview

* fix Rate

* fix RateLimit

* fix Reaction

* fix Referrer

* fix RepositoryKey

* fix RequiredPullRequestReviews

* fix RequiredStatusChecks

* fix SourceImport

* fix Stargazer

* fix StatsCodeFrequency

* fix StatsCommitActivity

* fix StatsContributor

* fix Tag

* fix Team

* fix Topic

* fix UserKey

* fix MainClass

* fix Requester

* added stubs for View

* added stubs for Membership

* various syntax errors

* silence mypy noise

* keeping track of recent changes

* black + isort

Co-authored-by: Liuyang Wan <lwan@zendesk.com>
2020-03-22 19:33:23 +08:00
Steve Kowalik 1440297699 Split up Repository.testStatistics (#1440)
The testStatistics testcase takes over ten seconds to run on my laptop,
and it does an awful lot of work. Split up the disparate parts into
seperate testcases.
2020-03-20 18:41:40 +11:00
Michał Górny d2e9bd69dd Use pytest to parametrize tests (#1438)
* Use pytest to parametrize tests

Use built-in pytest test case parametrization support over external
'parameterize' package.  The latter is not well maintained, and has
known Python 3.8 failures unsolved since November 2019.

Since pytest fixtures are incompatible with unittest-style tests,
rewrite the relevant test case to use pytest-style asserts.  This also
makes the resulting code simpler, as we no longer have to pass TestCase
to the helper classes.

* Refactor input cleaning in ReplayingConnection.__readNextRequest()
2020-03-18 18:44:40 +11:00
Anuj Bansal 801ea38551 Add create project method and tests 2020-03-15 22:12:44 +05:30
Anuj Bansal f11f739505 Add support to edit and delete a project (#1434)
* Add methods to edit and delete a project

* Update tests for edit project
2020-03-15 12:57:12 +11:00
Danilo Martins 0c55381b38 Add method for fetching pull requests associated with a commit (#1433)
* Add method for fetching pull requests associated with a commit

* Reference PR number instead of id on commit.get_pulls 

Fixes #1414
2020-03-13 11:07:19 +11:00
Adrian Bridgett 219bde53d3 Add "get_repo_permission" to Team class (#1416)
* Add "get_repo_permission" to Team class

* second attempt:
- accept repo name or repo object
- return github.Permissions.Permissions object
- try and following CONTRIBUTING.md better

* add missing import to tests
patch replay data with permission data

* assert a specific permission rather than just the type

Fixes #1415
2020-03-13 11:01:16 +11:00
Anuj Bansal e44d11d565 Add list projects support, update tests (#1431) 2020-03-11 12:40:25 +11:00
Steve Kowalik b1c35499f4 Don't transform completely in PullRequest.*assignees (#1428)
The two methods PullRequest.add_to_assignees() and
PullRequest.remove_from_assignees() are special, in that they call
POST/DELETE on the issue_url of the pull request, and then transform all
their attributes based on what was returned. This has a number of
effects, none of them any good for calling new methods on the same pull
request object. Instead, only pull out the changed attribute and use
that. Also change the returned URL for the POST call in the replay data
to match what GitHub returns.

Fixes #1406
2020-03-10 12:39:23 +11:00
Anuj Bansal bf62f75224 Add create_project support, add tests (#1429)
Add AuthenicatedUser.create_project()
2020-03-10 12:34:57 +11:00
MarcoFalke bd28524853 Add draft attribute, update test 2020-03-09 12:20:12 +05:30
Steve Kowalik 3d93ee1ce5 Add Deployments API (#1424)
Add a new class, Deployment to describe a deployment performed utilising
GitHub. Add three methods onto Repository to list them and create them.

Fixes #1117
2020-03-08 16:27:59 +11:00