public void ParseVersion_NullInput() { // Arrange var target = GetToolsService(); ParseVersionInput input = null; // Act var output = target.ParseVersion(input); // Assert Assert.Same(input, output.Input); Assert.Equal(InputStatus.Missing, output.InputStatus); Assert.Null(output.Version); }
public void ParseVersion_ValidVersion() { // Arrange var target = GetToolsService(); var input = new ParseVersionInput { Version = "1.0.0-beta" }; // Act var output = target.ParseVersion(input); // Assert Assert.Same(input, output.Input); Assert.Equal(InputStatus.Valid, output.InputStatus); Assert.Equal(GetVersionNormalizedString(input.Version), output.Version.NormalizedString); }
public void ParseVersion_InvalidVersion() { // Arrange var target = GetToolsService(); var input = new ParseVersionInput { Version = "1.0.0.0.0" }; // Act var output = target.ParseVersion(input); // Assert Assert.Same(input, output.Input); Assert.Equal(InputStatus.Invalid, output.InputStatus); Assert.Null(output.Version); }
public ParseVersionOutput ParseVersion(ParseVersionInput input) { var output = new ParseVersionOutput { InputStatus = InputStatus.Missing, Input = input }; if (input != null && !string.IsNullOrWhiteSpace(input.Version)) { try { output.Version = _versionLogic.Parse(input.Version); output.InputStatus = InputStatus.Valid; } catch (Exception) { output.InputStatus = InputStatus.Invalid; } } return(output); }
public async Task <IActionResult> ParseVersion([FromRoute] string nuGetVersion, [FromQuery] ParseVersionInput input, CancellationToken token) { var redirect = GetVersionRedirect(); if (redirect != null) { return(redirect); } var toolsService = await _toolsFactory.GetServiceAsync(nuGetVersion, token); if (toolsService == null) { return(NotFound()); } var output = toolsService.ParseVersion(input); var versionedOutput = await GetSelectedVersionOutputAsync(toolsService, output, token); return(View(versionedOutput)); }