diff --git a/.github/workflows/minio-dotnet.yml b/.github/workflows/minio-dotnet.yml index e3a9952136..01b4b31bc4 100644 --- a/.github/workflows/minio-dotnet.yml +++ b/.github/workflows/minio-dotnet.yml @@ -175,7 +175,7 @@ jobs: sudo cp /tmp/minio-config/certs/public.crt /etc/ssl/certs/ sudo cp /tmp/minio-config/certs/private.key /etc/ssl/private/ /tmp/minio -C /tmp/minio-config server /tmp/fs{1...4} & - dotnet Minio.Functional.Tests/bin/Release/net6.0/Minio.Functional.Tests.dll + dotnet Minio.Functional.Tests/bin/Release/net7.0/Minio.Functional.Tests.dll push_to_nuget: needs: [build, unit_tests, functional_tests, format-check] diff --git a/.gitignore b/.gitignore index 88bda8272a..0d595d7e63 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ bld/ [Bb]in/ [Oo]bj/ +.history # Visual Studio 2015 cache/options directory .vs/ diff --git a/Minio.Functional.Tests/Minio.Functional.Tests.csproj b/Minio.Functional.Tests/Minio.Functional.Tests.csproj index 741c33eadb..7e1e0a17fa 100644 --- a/Minio.Functional.Tests/Minio.Functional.Tests.csproj +++ b/Minio.Functional.Tests/Minio.Functional.Tests.csproj @@ -1,6 +1,6 @@ - net6.0 + net7.0 Exe False diff --git a/Minio.Tests/DateTimeTests.cs b/Minio.Tests/DateTimeTests.cs index a1be75dd69..515a09cc7b 100644 --- a/Minio.Tests/DateTimeTests.cs +++ b/Minio.Tests/DateTimeTests.cs @@ -1,4 +1,5 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using System.Globalization; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Minio.DataModel; using Minio.DataModel.Args; using Minio.Helper; @@ -55,7 +56,10 @@ public void TestNewMultipartUploadArgsRetentionUntilDate() public void TestObjectStatExpires() { var d = TruncateMilliseconds(DateTime.Now); - var headers = new Dictionary { ["x-amz-expiration"] = d.ToUniversalTime().ToString("r") }; + var headers = new Dictionary(StringComparer.InvariantCultureIgnoreCase) + { + ["x-amz-expiration"] = d.ToUniversalTime().ToString("r", CultureInfo.InvariantCulture) + }; var stat = ObjectStat.FromResponseHeaders("test", headers); Assert.AreEqual(d.ToUniversalTime(), stat.Expires?.ToUniversalTime()); } @@ -64,7 +68,7 @@ public void TestObjectStatExpires() public void TestObjectStatObjectLockRetainUntilDate() { var d = TruncateMilliseconds(DateTime.Now); - var headers = new Dictionary + var headers = new Dictionary(StringComparer.InvariantCultureIgnoreCase) { ["x-amz-object-lock-retain-until-date"] = d.ToUniversalTime().ToString("O") }; @@ -77,7 +81,7 @@ public void TestUtilsTo8601String() { var d = TruncateMilliseconds(DateTime.Now); var converted = Utils.To8601String(d); - var parsed = DateTime.Parse(converted); + var parsed = DateTime.Parse(converted, CultureInfo.InvariantCulture); Assert.AreEqual(d, parsed); Assert.AreEqual(d.Kind, parsed.Kind); } diff --git a/Minio/MinioClient.cs b/Minio/MinioClient.cs index 73171d23b2..f1ee8efda0 100644 --- a/Minio/MinioClient.cs +++ b/Minio/MinioClient.cs @@ -190,12 +190,9 @@ private async Task GetRegion(string bucketName) // Pick region from location HEAD request if (rgn?.Length == 0) - { - if (!BucketRegionCache.Instance.Exists(bucketName)) - rgn = await BucketRegionCache.Update(this, bucketName).ConfigureAwait(false); - else - rgn = BucketRegionCache.Instance.Region(bucketName); - } + rgn = BucketRegionCache.Instance.Exists(bucketName) + ? await BucketRegionCache.Update(this, bucketName).ConfigureAwait(false) + : BucketRegionCache.Instance.Region(bucketName); // Defaults to us-east-1 if region could not be found return rgn?.Length == 0 ? "us-east-1" : rgn;