public void ToCsharp_ContentTypeWithEncoding_StringContentProperlyInitialized() { var converterService = new ConverterService(); var curlOptions = new CurlOptions { HttpMethod = HttpMethod.Get.ToString() .ToUpper(), Url = new Uri("https://google.com"), UploadData = { new UploadData("content") } }; curlOptions.HttpMethod = HttpMethod.Post.ToString() .ToUpper(); curlOptions.SetHeader(HeaderNames.ContentType, "application/json ; charset=utf-8"); var result = converterService.ToCsharp(curlOptions); var tree = CSharpSyntaxTree.ParseText(result.Data); var stringContentConstructor = tree .GetRoot() .DescendantNodes() .OfType <ConstructorDeclarationSyntax>() .First(oc => oc.Identifier.ValueText == "StringContent"); Assert.Equal("\"application/json\"", stringContentConstructor.ParameterList.Parameters[2].Identifier.TrailingTrivia.ToString()); }
public void ToCsharp_ValidCurlOptions_CanBeCompiled() { var converterService = new ConverterService(); var curlOptions = new CurlOptions { HttpMethod = HttpMethod.Post.ToString().ToUpper(), Url = new Uri("https://google.com"), UploadData = { new UploadData("{\"status\": \"resolved\"}") }, UserPasswordPair = "user:pass" }; curlOptions.SetHeader(HeaderNames.ContentType, "application/json"); curlOptions.SetHeader(HeaderNames.Authorization, "Bearer b7d03a6947b217efb6f3ec3bd3504582"); var result = converterService.ToCsharp(curlOptions); var tree = WrapToClass(result.Data); var diagnostics = tree.GetDiagnostics(); Assert.Empty(diagnostics); }