public void GetUserDataAsync_Always_ReturnsExpectedResults(List <string> usernames, List <UserModel> expectedUsers) { MockGitHubRequestHandler = new Mock <IGitHubRequestHandler>(MockBehavior.Strict); //MockGitHubRequestHandler.Setup(x => x.GetUserDataAsync(usernames)).Returns(expectedUsers); gitHubRequestHandler = new GitHubRequestHandler(MockGitHubRequestHandler.Object); var result = gitHubRequestHandler.GetUsersAsync(usernames); Assert.That(result, Is.EqualTo(expectedUsers)); MockGitHubRequestHandler.VerifyAll(); }
public IActionResult Search(String userName) { List <GitHubRepo> repoList = new List <GitHubRepo>(); GitHubRepo repo = null; try { if (string.IsNullOrEmpty(userName)) { throw new InvalidOperationException("EmptyInput"); } GitHubRequestHandler handler = new GitHubRequestHandler(); if (!string.IsNullOrWhiteSpace(userName)) { String url = "https://api.github.com/users/" + userName + "/repos"; var releases = handler.GetReleases(url); //List out the retreived releases foreach (JObject release in releases.Children()) { Console.WriteLine("name: {0}", release.GetValue("name")); Console.WriteLine("fullname: {0}", release.GetValue("full_name")); Console.WriteLine(); repo = JsonConvert.DeserializeObject <GitHubRepo>(release.ToString(Newtonsoft.Json.Formatting.None)); repo.git_url = repo.git_url.Substring(6, repo.git_url.Length - 6); repoList.Add(repo); } GitHubProfile profile = handler.GetReleases1("https://api.github.com/users/" + userName); Console.WriteLine("login: {0}", profile.login); Console.WriteLine("name: {0}", profile.name); ViewData["accountName"] = profile.login; ViewData["date"] = DateTime.Parse(profile.updated_at).ToString(); ViewData["followers"] = profile.followers; ViewData["following"] = profile.following; return(View(repoList)); } else { Index(); } }catch (Exception e) {} return(View("404")); }