* drop mentions of net45 from core
* Bump System.Reactive from 3.1.0 to 4.3.2
Bumps [System.Reactive](https://github.com/dotnet/reactive) from 3.1.0 to 4.3.2.
- [Release notes](https://github.com/dotnet/reactive/releases)
- [Commits](https://github.com/dotnet/reactive/compare/v3.1.0...rxnet-v4.3.2)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* upgrade from net452 to net46 in test projects
* drop netstandard1.1 support
* correct this test reference
* add necessary dependency for test project
* add new dependency needed for integration tests
* upload net462 code coverage
* upgrade environment for validating linqpad examples
* bump linqpad to latest 5.x release
Co-authored-by: Brendan Forster <brendan@github.com>
* Initial implementation of ManagementConsole - maintenance mode
* Add environment var support for management console password for integration tests
* Add reactive client and unit tests
* Update some xmlDoc
* I think this is a better way to setup the underlying baseUri on IConneciton, to achieve managemet console access rather than requiring a specific GitHubClient that cant call normal API's
Instead, the management client methods can check the base Url and if it contains /api/v3/ they can set their relative endpoint Uri to include a leading "/" which will cause the /api/v3/ to be removed.
* Update EnterpriseClient.cs
Fix xml comments
* Update IEnterpriseClient.cs
Fix xml comments
* Still trying to get the xmDoc perfect, thanks app veyor :)
* XmlDoc'ing my way to success
* Add specific test attribute for management console tests
* check chronic string empty/null
* Use helper's password field in test
* Tidy up maintenance mode tests by using a context/destructor to manage the initial/end state of maintenance mode
* make internal and tidy up URL concatenation
* move GHE endpoint fixup inside ApiUrls methods
* Rework request object to be the correct structure so SimpleJsonSerializer can be used to serialize it. Remove MaintenanceDate class and just pass in the Date/string for when
Still need to use UrlFormEncoding rather than json in the POST body though...
* Create abstract base class for FormUrlEncoded parameters (similar to existing RequetParameters) and inherit from it in UpdateMaintenanceRequest
* Fix maintenance context logic - destructor should always turn maintenance OFF regardless of initial requested state
* Fix xml comment
* Fix Xml comment
* Those pesky xml comments!
* Fine, I give up!
* Fix string.Format
* fix bad rebase
* fix failing convention tests
* restore missing whitespace
* writing some docs
* some edits
* edit
* Update issue comments client to allow returning comments 'since' a specific date
* Update observable issue comments client to allow returning comments 'since' a specific date
* Add test cases to cover newly added methods
* Add a warning to the statistics client about caching
* Simplify note about caching and direct users to the API docs
Also update to use summary instead of remarks
* Merge the summary sections as the 2nd section is ignored in VS
* squash duplicate summary tags together
* Also squash these lines
* Add pagination to *CommitCommentReactionsClient
* Add unit tests for *CommitCommentReactionsClient
* Add integration tests for *CommitCommentReactionsClient
* Add pagination to *IssueCommentReactionsClient
* Add unit tests for *IssueCommentReactionsClient
* Add integration tests for *IssueCommentReactionsClient
* Add pagination to *IssueReactionsClient
* Add unit tests for *IssueReactionsClient
* Add integration tests for *IssueReactionsClient
* Add pagination to *PullRequestReviewCommentReactionsClient
* Add unit tests for *PullRequestReviewCommentReactionsClient
* Add integration tests for *PullRequestReviewCommentReactionsClient
* Remove rogue using statement and whitespace
* Add null check tests for GetAll with repositoryid overload
* Introduce 'NoFramework' switch
This enables building via cake on linux without requiring adjustments on
other platforms, fixes#1745
* Revert hardcoding NoFramework in build.sh
* Skip GitVersion query for NoFramework build
This implies that NoFramework is intended for local use only
Accordingly a warning message has been set up in the Lifetime of the Build
* Rename NoFramework switch to CoreOnly
* Skip tool installation and formatting step for CoreOnly builds
* Default CoreOnly to false on windows and true otherwise
* Add CoreOnly switch to build variable output
* Fix 'native' msbuild on windows for both platforms
'native' msbuild invocations do not automatically set CoreOnly according to the platform
they are running on. As such we set CoreOnly to False on Windows, unless CoreOnly has been
specified already.
* Attempt to handle both old and new annotations models so we support the changes on github.com as well as still support GHE2.14
add Path and AnnotationLevel fields
flag Filename and WarningLevel as deprecated/obsolete
also flag BlobHref as deprecated on NewCheckRunAnnotation
Adjust ctors to handle new and legacy field options
* adjust tests to remove use of obsoleted fields
* fix a couple of other tests using unrelated obsoleted fields
* Mark check suite Request method and request object as obsolete
* Add Rerequest() method to normal and observable clients
Add unit and integration tests
* add StartColumn and EndColumn as optional fields for CheckRunAnnotation response and NewCheckRunAnnotation request
* remove integration tests for Request() method as they no longer work on github.com anyway
* Adding functionality to query installations for user
* Rename method
* Adding installation methods
* Adding tests
* Adding observable client methods
* Adding InstallationResponse
* Adding GitHub Apps Installations Client
* Tweaking doc comments
* Undoing unintentional changes and cleaning up
* Reordering functions in clients to keep the same code look and feel
* Making sure all methods are documented with their authentication requirements
* Syntax error
* Renaming methods and tests
* Renaming property
* Test cleanup
* XmlDoc comment fixups and consistency
* rename User -To-Server auth methods from xxxForUser to xxxForCurrentUser
* rename GitHubAppsInstallationsClient to GitHubAppInstallationsClient to be consistent with single/plural naming conventions
* make method order match the order on github docs site
* tidy up usings
* correct implementation of GetALlInstallationsForCurrent method to be consistent
* Add missing unit and integration tests for ObservableGitHubAppsClient
* fix renamed method in observable tests
* Add EnsuresNonEmptyArguments tests and fixup asserts in GitHubAppsClient
* Add tests for new Observable client methods and fixup Null/Empty asserts in Observable client
* change non paginated call to call through to other method but with ApiOptions.None
* add unit tests for observable client and fixup errors they found
* add integration tests for new GitHubAppsClient methods, fixed an incorrect route that the tests found!
* add integration tests for extra methods on observable client
* add integration tests for new clients GitHubAppInstallationsClient and ObservableGitHubAppInstallationsClient
* deprecate renamed method properly, to avoid breaking change
* Fix whitespace/formatting with /FormatCode build option
* Update release notes
* fix a few failing integration tests
* Adjust required fields on UpdateCheckRun and NewCheckRun request models and fix tests
Tidy up field accessors and XmlDoc comments
* Update date in ReleaseNotes
* Keeping request models simple (avoid inheritance) - makes it easier when we move to generated models
* Add CheckRunEventPayload
* add CheckRunEventPayload into all the right places
* forgot integration tests for RepositoryId methods (+1 squashed commits)
Squashed commits:
[b2445bf3] Implement Create CheckRun methods for normal and observable clients including unit and integration tests and xmldoc comments
* Implement Update CheckRun method
Refactored NewCheckRun to inherit CheckRunUpdate since they share all fields except HeadSha
* Implement GetAllForReference method
* Implement GetAllForCheckSuite method
* tweak XmlDoc to match github documentation
* Implement Get method
* Implement GetAllAnnotations
Moved CheckRunAnnotation model from Request to Common and added a parameterless ctor, since it is now a response model as well as a request model
* Split common CheckRunAnnotation model into separate response and request models due to different field and ctor requirements
Rename other CheckRun request sub classes to be consistent with NewCheckRunAnnotation (eg NewCheckRunOutput, NewCheckRunImage, etc)
* add title field back into CheckRunAnnotation
* fix up XmlDocs
* fix mutable response property - hooray for convention tests!
* Check run request models
* Check Run response models
* Check run clients
* Check run ApiUrls and AcceptHeaders
* Pack it all together for now
* Add missing accept headers to connection calls
* Standardize class definitions
* Standardize function names
* Merge ICheckRunAnnotationsClient into ICheckRunsClient
* Properly organize clients
* Cleanup CheckRun response model
* Fix slug check run urls
* Add checks installation permission
* Use StringEnums where appropriate
* Cleanup check run output models
* Flesh out CheckSuite model
* Delete CheckRunsList
* Remove a sealed, fix some line endings
* Adding check suite models
* Skeleton check suite client implementation
* Add check suite ApiUrls
* Flesh out check suites client
* Add parameterless CheckRun constructor
* Add DebuggerDisplay to checks models
* Add observable checks interfaces
* Add return values to POST and PATCH check clients
* Fix some check suite client return values
* Skeleton reactive checks implementation
* Implement observable checks clients
* Remove rogue tabs
* Add CheckSuiteEventPayload
* Add CheckRunEventPayload
* Add DebuggerDisplay attributes to checks API payloads
* Properly nullables check suite/run conclusion
* Add CheckSuiteEventTests
* Fix checks client accessor naming issues
* Add missing Text field to CheckRunOutput
* Marks CheckRunUpdate's conclusion as nullable
* Fix reactive checks client naming
* Today I learned DateTimeOffset is a struct
Makes CheckRunUpdate's DateTimeOffsets nullable
* Modify check clients to put slug version before repo id version
* Add nullable to CheckRun.CompletedAt
* Implement parameterless ICheckRunsClient.GetAllForReference and GetAllForCheckSuite
* Add missing RequestParameters base to CheckSuiteRequest
* Implement checks API GetAll methods
* Bring parity to Reactive checks clients
* fix project settings to get GitHubApp helper working again
* remove un-needed InstallationId setting - provide helper method to find installation based on owner
* fix up request object ctors based on required/optional parameters
* fix up request object ctors based on required/optional parameters
* add some initial integration tests for CheckSuites and CheckRuns including some helper methods
* Add test for Request CheckSuite
Fix Request CheckSuite to use correct Uri
Fix Request CheckSuite return type as it doesnt return an object
Fix CheckSuiteTriggerRequest ctor to make required fields mandatory
* simplify Get CheckSuite test to not require as much data setup
* Add test for CheckSuite GetAllForReference
* Add test for CheckSuite UpdatePreferences
* rename response models
* rename CheckSuitesList to CheckSuitesResponse and use as response to the GetAll calls
* Fix tests
* Fix observable
* fix model convention tests
* remove CheckRuns so we can focus only on CheckSuites for now
* naming things is hard
* oh so many unit tests for CheckSuites methods
* make client mockable
* Fix issue with .Max() when no results returned
* fix request parameter names
* add Xml doc comments
* Add XmlDoc comments to request/common model objects
* rename class to match usage
* tidy ups
* xmldoc for observable clients
* fix method order
* add observable unit tests and get them passing
* Add Observable unit tests and get them passing
* add observable integration tests
* tidy up ApiUrl method name
* whitespace/using tidy ups
* Ensure CheckSuiteEventPayload class is handled in deserializer and add to activity test
* add response model XmlDoc comments
* missed one xmldoc
* add xmldoc to NewCheckSuite request and remove HeadBranch property as it doesnt exist anymore
* add some extra check suites integration tests
* add Archived to ProjectCard response
add Archived to ProjectCardUpdate
update integration tests
* Add ProjectCardRequest model and update GetAll calls to use it
Update unit tests
Update integration tests
* skip_branch_with_pr still ends up building the branch on the initial push, so let's only build master instead
* Add "transfer repository" accept header
* Create RepositoryTransfer class
This will be used to send the POST request to initiate the transfer.
* Create Ensure method to check for empty or null arrays
* Change arg name in Ensure for nonempty arrays
array -> value
* Add xmldoc for ArgumentNotNullOrEmptyArray
* Create Transfer method in IRepositoriesClient
* Implement Transfer method in RepositoriesClient
* Fix typo in xmldoc for Transfer
* Add <returns> to Transfer xmldoc
* Create Transfer method in IObservableRepositoriesClient
* Implement Transfer in ObservableRepositoriesClient
* Add DebuggerDIsplayAttribute do RepositoryTransfer
* Add unit tests for RepositoryTransfer constructors
* Change TeamId property type to IReadOnlyList<int>
* Rewrite DebuggerDisplay property into something more succint
* Make new Ensure method into an IEnumerable<T> checker
* Add XmlDoc to RepositoryTransfer
* Tweaks to first ctor XmlDoc
* Create basic unit tests for Transfer
* Create ApiUrls.RepositoryTransfer
* Use ApiUrls.RepositoryTransfer to get URI in Transfer
Previous implementation used wrong URI
* Start implementing RepositoriesClientTests.TheTransferMethod
* Implement org -> user transfer integration test
* Implement user -> org transfer integration test
* [WIP] Implement user -> org transfer with teams
Implementation doesn't work, API usage seems correct.
* Mark transfer user -> org w/ teams integration test with FIXME
* Add second end point URI to ApiUrls
* Add other Transfer overload to RepositoriesClient for other end point
* Create unit tests for other Transfer endpoint
* Add overload to IRepositoriesClient
* Add integration tests for overload
* Reorganize unit tests for TheTransferMethod
* Rename id to repositoryId
* Reorganize unit tests for RepositoriesClientTests.Transfer
* Add second endpoint to IObservableRepositoriesClient
* Add XmlDoc to second Transfer endpoint
* Add XmlDoc to second Transfer endpoint in RepositoriesClient
* Reimplement "with teams" integration tests using TeamContext
* Rename integration test for consistency
* Add asserts to actual ownership transfer
* Rename RepositoryTransfer.TeamId property to TeamIds
* Add awaiit to ThrowsAsync in RepositoriesClientTests
* Put await in right places for unit tests
* Add Ensures for Transfer method in RepositoriesClient
* Add XmlDoc to ApiUrls.RepositoryTransfer with repo id
* Update XmlDoc for RepositoryTransfer constructor and teamIds property
* Rename currentOwner to owner
* Add Ensure guards to ObservableRepositoriesClient.Transfer methods
* Add unit tests for ObservableRepositoriesClient
* Implement new attributes for labels
* Include correct API header in all Labels calls
* Add integration tests for Create and Update methods for labels
* Use improved labels API in observable client
* found even more endpoints that need the preview header!
* RemoveFromIssue actually returns the list of remaining labels rather than null. This change should be source compatible but not binary compatible
* Implement new labels search method in SearchClient
* Implement reactive client SearchLabels
* Improve documentation for label search methods
* more comment tidy up
* Added pre-receive environment client
https://developer.github.com/v3/enterprise-admin/pre_receive_environments
* Added unit and integration tests for the pre-receive environments client
* moved test setup outside of tests
* fixed unit test
* Added reactive components for pre-receive environment endpoints
* Debugger display's and non public setters on response object conventions
* removed redundant parameter attributes
implemented update request independently of new request
changed ints to longs for future proofing
updated unit tests
changed update integration tests to create a new update request to ensure optional values function
* updating reactive environmentids to longs as well
* also converting response id to a long
* Fixed an incorrect unit test
renamed some test variable names for consistency
Added mockable ctors on responses, and parameterless ctors to maintain functionality
* Adding missing state parameter
* rename client member accessor to singular form in accordance with octokit naming conventions
* fixup tests
* add integration tests for observable client
* add proper accept header to all teams calls
* use hardcoded headers in unit tests
* dont remove support for preview branch protection, on earlier github enterprise versions