Exemple #1
0
        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"));
        }