< Summary

Information
Class: ValidateLib.UtilityClasses.ObjectPropertyUtilityClass
Assembly: validatelib.dll
File(s): C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\ValidateLib\UtilityClasses\ObjectPropertyUtilityClass.cs
Line coverage
60%
Covered lines: 17
Uncovered lines: 11
Coverable lines: 28
Total lines: 74
Line coverage: 60.7%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

File(s)

C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\ValidateLib\UtilityClasses\ObjectPropertyUtilityClass.cs

#LineLine coverage
 1using Newtonsoft.Json.Linq;
 2
 3namespace ValidateLib.UtilityClasses
 4{
 5    public class ObjectPropertyUtilityClass
 6    {
 7        public static async Task<JToken> GetDescriptorObjectFromUrlAsync(string url)
 8        {
 09            using (HttpClient client = new HttpClient())
 10            {
 011                string json = await client.GetStringAsync(url);
 012                JToken jtoken = JToken.Parse(json);
 013                return jtoken;
 14            }
 015        }
 16
 17        public static void RemoveLocalContext(JObject jobject)
 18        {
 119            if (jobject.ContainsKey("@context"))
 20            {
 121                jobject.Property("@context")?.Remove();
 22            }
 123        }
 24
 25        public static void AddId(JObject jobject, string id)
 26        {
 127            if (!jobject.ContainsKey("@id"))
 28            {
 029                jobject.Add("@id", id);
 30            }
 131        }
 32
 33        public static JObject? GetDescriptor(string metadataUrlOrPath)
 34        {
 35            try
 36            {
 137                if (Uri.TryCreate(metadataUrlOrPath, UriKind.Absolute, out Uri uri) && (uri.Scheme == Uri.UriSchemeHttp 
 38                {
 139                    using (HttpClient client = new HttpClient())
 40                    {
 141                        string response = client.GetStringAsync(uri).Result;
 142                        return JObject.Parse(response);
 43                    }
 44                }
 145                else if (Uri.TryCreate(metadataUrlOrPath, UriKind.Absolute, out uri) && uri.Scheme == Uri.UriSchemeFile)
 46                {
 147                    string localPath = uri.LocalPath;
 148                    if (File.Exists(localPath))
 49                    {
 150                        string content = File.ReadAllText(localPath);
 151                        return JObject.Parse(content);
 52                    }
 53                    else
 54                    {
 055                        return null;
 56                    }
 57                }
 058                else if (File.Exists(metadataUrlOrPath))
 59                {
 060                    string content = File.ReadAllText(metadataUrlOrPath);
 061                    return JObject.Parse(content);
 62                }
 63                else
 64                {
 065                    return null;
 66                }
 67            }
 168            catch (Exception)
 69            {
 170                return null;
 71            }
 172        }
 73    }
 74}