public void TestReplacePathResourceArns(string originalValueOrArn, string extractedName, string expectedValue)
        {
            var testDict = new Dictionary <string, string>();

            testDict.Add("value", originalValueOrArn);
            S3ArnUtils.ReplacePathResourceArns(testDict, extractedName);
            Assert.AreEqual(expectedValue, testDict["value"]);
        }
        public void TestNonArnOutpostRequestHasIdFalse()
        {
            var request = new GetAccessPointRequest
            {
                Name = "test",
            };
            string outpostId = null;

            Assert.IsFalse(S3ArnUtils.DoesRequestHaveOutpostId(request, out outpostId));
            Assert.AreEqual(null, outpostId);
        }
        public void TestNonArnOutpostRequestHasIdTrue()
        {
            var request = new CreateBucketRequest
            {
                Bucket    = "test",
                OutpostId = "op-1234567890"
            };
            string outpostId = null;

            Assert.IsTrue(S3ArnUtils.DoesRequestHaveOutpostId(request, out outpostId));
            Assert.AreEqual("op-1234567890", outpostId);
        }
        static string ConstructCopySourceHeaderValue(string bucket, string key, string version)
        {
            string source;

            if (!String.IsNullOrEmpty(key))
            {
                var isAccessPoint = S3ArnUtils.IsS3AccessPointsArn(bucket) || S3ArnUtils.IsS3OutpostsArn(bucket);
                // 'object/' needed appended to key for copy header with access points
                source = AmazonS3Util.UrlEncode(String.Concat(bucket, isAccessPoint ? "/object/" : "/", key), !isAccessPoint);
                if (!String.IsNullOrEmpty(version))
                {
                    source = string.Format(CultureInfo.InvariantCulture, "{0}?versionId={1}", source, AmazonS3Util.UrlEncode(version, true));
                }
            }
            else
            {
                source = AmazonS3Util.UrlEncode(bucket, true);
            }

            return(source);
        }
 public void TestIsValidOutpostId(string outpostId, bool isValid)
 {
     Assert.AreEqual(isValid, S3ArnUtils.IsValidOutpostId(outpostId));
 }