public void SourceTrackingHeaderGeneratedFromAttribute()
        {
            var attr = new DeliverySourceTrackingHeaderAttribute("CustomModule", 1, 2, 3);

            var value = HttpRequestHeadersExtensions.GenerateSourceTrackingHeaderValue(GetType().Assembly, attr);

            Assert.Equal("CustomModule;1.2.3", value);
        }
        public void SourceTrackingHeaderGeneratedFromAssembly()
        {
            var assembly        = GetType().Assembly;
            var fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
            var sourceVersion   = fileVersionInfo.ProductVersion;
            var attr            = new DeliverySourceTrackingHeaderAttribute();

            var value = HttpRequestHeadersExtensions.GenerateSourceTrackingHeaderValue(assembly, attr);

            Assert.Equal($"Kentico.Kontent.Delivery.Tests;{sourceVersion}", value);
        }
示例#3
0
        internal static string GenerateSourceTrackingHeaderValue(Assembly originatingAssembly, DeliverySourceTrackingHeaderAttribute attribute)
        {
            string packageName;
            string version;

            if (attribute.LoadFromAssembly)
            {
                packageName = attribute.PackageName ?? originatingAssembly.GetName().Name;
                version     = originatingAssembly.GetProductVersion();
            }
            else
            {
                packageName = attribute.PackageName;
                string preRelease = attribute.PreReleaseLabel == null ? "" : $"-{attribute.PreReleaseLabel}";
                version = $"{attribute.MajorVersion}.{attribute.MinorVersion}.{attribute.PatchVersion}{preRelease}";
            }
            return($"{packageName};{version}");
        }