-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge master into dotnetcore (#1599)
* bugfix - PUT should have a payload for Mark as Read (#1579) * bugfix - PUT should have a payload for Mark as Read * also fix the Observable client test * add integration tests for MarkRead methods * Fixup MarkReadForRepository methods to specify a body in the PUT request * Fix unit tests for regular and observable client * helps if the new files are included in the test project :) * Cloning ApiInfo object should work when some fields are null (#1580) * Adjust ApiInfo.Clone() to work even if some elements (eg ETag) are null * Remove c# 6 language feature and do it the old school way * Add a test for cloning ApiInfo when some fields are null * The 3 lists can never be null anyway so remove some un-needed statements * Add test for null RateLimit * Remove Rx-Main dependency from samples This resolves #1592 - LINQPad doesn't understand how to restore this unlisted package and it's not actually needed in the samples. * Adding RemovedFromProject and other missing EventInfoState types. (#1591) * Adding missing review types to event info. * Fixing whitespace. * Reword `BaseRefChanged` comment * Adding missing event types. * Change response models 'Url' properties from `Uri` to `string` (#1585) * Add convention test to ensure 'Url' properties are of type string Closes #1582 * Change 'Url' properties from Uri to string Global Find/Replace FTW! * fix compilation errors in the integration tests project * Extend 'Url' properties type check to request models * Stick to convention tests naming convention * Remove unused using directives in models Changing from `Uri` to `string` means the `using System;` directive was not needed anymore in some files * Update exception message wording * empty commit to trigger a new build - hopefully Travis passes * add convention test to ensure request models have Uri 'Url' properties * make request models 'Url' properties Uri fix typo in convention test name * revert some request models 'Url' properties as `string` see #1585 (comment) * Change test so that all model types must have 'Url' properties of type string - Filter test input to only get types which have 'Url' properties - Merge response and request model types tests into one - Unparameterize the exception since we only check for the string type now * Fix string.Format tokens If this PR doesn't get rebased, it'll be my wall of shame FOREVER! * and then it's even more embarrassing when the commit message says rebased but you really meant squashed * Remove exclusion of `Release` from request models
- Loading branch information
1 parent
11bbb2d
commit 9c80b00
Showing
56 changed files
with
388 additions
and
180 deletions.
There are no files selected for viewing
22 changes: 22 additions & 0 deletions
22
Octokit.Tests.Conventions/Exception/InvalidUrlPropertyTypeException.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Reflection; | ||
|
||
namespace Octokit.Tests.Conventions | ||
{ | ||
public class InvalidUrlPropertyTypeException : Exception | ||
{ | ||
public InvalidUrlPropertyTypeException(Type modelType, IEnumerable<PropertyInfo> propertiesWithInvalidType) | ||
: base(CreateMessage(modelType, propertiesWithInvalidType)) | ||
{ } | ||
|
||
static string CreateMessage(Type modelType, IEnumerable<PropertyInfo> propertiesWithInvalidType) | ||
{ | ||
return string.Format("Model type '{0}' contains the following properties that are named or suffixed with 'Url' but are not of type String: {!}{2}", | ||
modelType.FullName, | ||
Environment.NewLine, | ||
string.Join(Environment.NewLine, propertiesWithInvalidType.Select(x => x.Name))); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
Octokit.Tests.Integration/Clients/NotificationsClientTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
using System.Threading.Tasks; | ||
using Octokit.Tests.Integration; | ||
using Xunit; | ||
|
||
public class NotificationsClientTests | ||
{ | ||
public class TheMarkAsReadMethod | ||
{ | ||
[IntegrationTest] | ||
public async Task MarksNotificationsRead() | ||
{ | ||
var github = Helper.GetAuthenticatedClient(); | ||
|
||
await github.Activity.Notifications.MarkAsRead(); | ||
} | ||
} | ||
|
||
public class TheMarkAsReadForRepositoryMethod | ||
{ | ||
[IntegrationTest] | ||
public async Task MarksNotificationsRead() | ||
{ | ||
var owner = "octokit"; | ||
var repo = "octokit.net"; | ||
|
||
var github = Helper.GetAuthenticatedClient(); | ||
|
||
await github.Activity.Notifications.MarkAsReadForRepository(owner, repo); | ||
} | ||
|
||
[IntegrationTest] | ||
public async Task MarksNotificationsReadForRepositoryId() | ||
{ | ||
var repositoryId = 7528679; | ||
|
||
var github = Helper.GetAuthenticatedClient(); | ||
|
||
await github.Activity.Notifications.MarkAsReadForRepository(repositoryId); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
Octokit.Tests.Integration/Reactive/ObservableNotificationsClientTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
using System.Reactive.Linq; | ||
using System.Threading.Tasks; | ||
using Octokit.Reactive; | ||
using Octokit.Tests.Integration; | ||
using Xunit; | ||
|
||
public class ObservableNotificationsClientTests | ||
{ | ||
public class TheMarkAsReadMethod | ||
{ | ||
[IntegrationTest] | ||
public async Task MarksNotificationsRead() | ||
{ | ||
var client = new ObservableGitHubClient(Helper.GetAuthenticatedClient()); | ||
|
||
await client.Activity.Notifications.MarkAsRead(); | ||
} | ||
} | ||
|
||
public class TheMarkAsReadForRepositoryMethod | ||
{ | ||
[IntegrationTest] | ||
public async Task MarksNotificationsRead() | ||
{ | ||
var owner = "octokit"; | ||
var repo = "octokit.net"; | ||
|
||
var client = new ObservableGitHubClient(Helper.GetAuthenticatedClient()); | ||
|
||
await client.Activity.Notifications.MarkAsReadForRepository(owner, repo); | ||
} | ||
|
||
[IntegrationTest] | ||
public async Task MarksNotificationsReadForRepositoryId() | ||
{ | ||
var repositoryId = 7528679; | ||
|
||
var client = new ObservableGitHubClient(Helper.GetAuthenticatedClient()); | ||
|
||
await client.Activity.Notifications.MarkAsReadForRepository(repositoryId); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.