public async Task <IActionResult> Index() { var url = new Uri($"https://api.github.com/repositories?since=364"); List <Repositorios> repositorio = new List <Repositorios>(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("User-Agent", "Other"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { string lista = await response.Content.ReadAsStringAsync(); repositorio = JsonConvert.DeserializeObject <List <Repositorios> >(lista) as List <Repositorios>; } if (ModelState.IsValid) { foreach (var item in repositorio) { _context.Add(item); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } } return(View(repositorio)); }
private void Setup([CallerMemberName] string name = "") { _ecTokenSource?.Dispose(); _ecTokenSource = new CancellationTokenSource(); // Test host context. _hc = new TestHostContext(this, name); var actionInputs = new MappingToken(null, null, null); actionInputs.Add(new StringToken(null, null, null, "input1"), new StringToken(null, null, null, "input1")); actionInputs.Add(new StringToken(null, null, null, "input2"), new StringToken(null, null, null, "")); actionInputs.Add(new StringToken(null, null, null, "input3"), new StringToken(null, null, null, "github")); var actionDefinition = new Definition() { Directory = _hc.GetDirectory(WellKnownDirectory.Work), Data = new ActionDefinitionData() { Name = name, Description = name, Inputs = actionInputs, Execution = new ScriptActionExecutionData() } }; // Mocks. _actionManager = new Mock <IActionManager>(); _actionManager.Setup(x => x.LoadAction(It.IsAny <IExecutionContext>(), It.IsAny <ActionStep>())).Returns(actionDefinition); _handlerFactory = new Mock <IHandlerFactory>(); _defaultStepHost = new Mock <IDefaultStepHost>(); _actionManifestManager = new ActionManifestManager(); _actionManifestManager.Initialize(_hc); var githubContext = new GitHubContext(); githubContext.Add("event", JToken.Parse("{\"foo\":\"bar\"}").ToPipelineContextData()); _context.Add("github", githubContext); #if OS_WINDOWS _context["env"] = new DictionaryContextData(); #else _context["env"] = new CaseSensitiveDictionaryContextData(); #endif _ec = new Mock <IExecutionContext>(); _ec.Setup(x => x.ExpressionValues).Returns(_context); _ec.Setup(x => x.ExpressionFunctions).Returns(new List <IFunctionInfo>()); _ec.Setup(x => x.IntraActionState).Returns(new Dictionary <string, string>()); _ec.Setup(x => x.EnvironmentVariables).Returns(new Dictionary <string, string>()); _ec.Setup(x => x.FileTable).Returns(new List <String>()); _ec.Setup(x => x.SetGitHubContext(It.IsAny <string>(), It.IsAny <string>())); _ec.Setup(x => x.GetGitHubContext(It.IsAny <string>())).Returns("{\"foo\":\"bar\"}"); _ec.Setup(x => x.CancellationToken).Returns(_ecTokenSource.Token); _ec.Setup(x => x.Variables).Returns(new Variables(_hc, new Dictionary <string, VariableValue>())); _ec.Setup(x => x.Write(It.IsAny <string>(), It.IsAny <string>())).Callback((string tag, string message) => { _hc.GetTrace().Info($"[{tag}]{message}"); }); _ec.Setup(x => x.AddIssue(It.IsAny <Issue>(), It.IsAny <string>())).Callback((Issue issue, string message) => { _hc.GetTrace().Info($"[{issue.Type}]{issue.Message ?? message}"); }); _hc.SetSingleton <IActionManager>(_actionManager.Object); _hc.SetSingleton <IHandlerFactory>(_handlerFactory.Object); _hc.SetSingleton <IActionManifestManager>(_actionManifestManager); _hc.EnqueueInstance <IDefaultStepHost>(_defaultStepHost.Object); // Instance to test. _actionRunner = new ActionRunner(); _actionRunner.Initialize(_hc); _actionRunner.ExecutionContext = _ec.Object; }