public void PreSignedUrlTestAdvanced(string bucketFieldInput, string keyFieldInput, string clientRegion, bool useArnRegion, string aws4Request, string signature)
        {
            // All tests assume a datetime of 08-27-2021
            var signedDate = new DateTime(2021, 08, 27, 0, 0, 0, DateTimeKind.Utc);

            var config = new AmazonS3Config
            {
                UseArnRegion   = useArnRegion,
                RegionEndpoint = RegionEndpoint.GetBySystemName(clientRegion)
            };

            var client = new AmazonS3Client("ACCESS_KEY_ID", "SECRET_ACCESS_KEY", config);

            var url = string.Empty;

            DateFaker.Run(
                signedDate,
                () => {
                url = client.GetPreSignedURL(new Amazon.S3.Model.GetPreSignedUrlRequest
                {
                    BucketName = bucketFieldInput,
                    Key        = keyFieldInput,
                    Verb       = HttpVerb.GET,
                    Expires    = signedDate.AddMinutes(15)
                });
            });

            Assert.IsNotNull(url);

            Console.WriteLine(url);

            Assert.IsTrue(url.Contains($"X-Amz-Credential=ACCESS_KEY_ID/{aws4Request}&"), "aws4Request Credential did not match");
            Assert.IsTrue(url.Contains($"&X-Amz-Signature={signature}"), "signature did not match");
        }
Exemple #2
0
 public FakerContainer()
 {
     Address       = new AddressFaker(this);
     App           = new AppFaker(this);
     Beer          = new BeerFaker(this);
     Book          = new BookFaker(this);
     Boolean       = new BooleanFaker();
     Business      = new BusinessFaker(this);
     Color         = new ColorFaker(this);
     Company       = new CompanyFaker(this);
     Date          = new DateFaker();
     Fake          = new FakeFaker(this);
     Friends       = new FriendsFaker(this);
     GameOfThrones = new GameOfThronesFaker(this);
     Lorem         = new LoremFaker(this);
     Name          = new NameFaker(this);
     Number        = new NumberFaker();
     Pokemon       = new PokemonFaker(this);
     Random        = new RandomFaker();
     RockBand      = new RockBandFaker(this);
     Superhero     = new SuperheroFaker(this);
     Team          = new TeamFaker(this);
     Time          = new TimeFaker();
     TwinPeaks     = new TwinPeaksFaker(this);
     Zelda         = new ZeldaFaker(this);
 }
Exemple #3
0
 public FakerContainer()
 {
     App     = new AppFaker(this);
     Book    = new BookFaker(this);
     Boolean = new BooleanFaker();
     Date    = new DateFaker();
     Fake    = new FakeFaker(this);
     Name    = new NameFaker(this);
     Number  = new NumberFaker();
     Random  = new RandomFaker();
     Time    = new TimeFaker();
 }
Exemple #4
0
 public FakerContainer()
 {
     Address        = new AddressFaker(this);
     Ancient        = new AncientFaker(this);
     App            = new AppFaker(this);
     Avatar         = new AvatarFaker(this);
     Beer           = new BeerFaker(this);
     Book           = new BookFaker(this);
     Boolean        = new BooleanFaker();
     Business       = new BusinessFaker(this);
     Cat            = new CatFaker(this);
     ChuckNorris    = new ChuckNorrisFaker(this);
     Coffee         = new CoffeeFaker(this);
     Color          = new ColorFaker(this);
     Company        = new CompanyFaker(this);
     Date           = new DateFaker();
     DragonBall     = new DragonBallFaker(this);
     Educator       = new EducatorFaker(this);
     Fake           = new FakeFaker(this);
     File           = new FileFaker(this);
     Fillmurray     = new FillmurrayFaker();
     Food           = new FoodFaker(this);
     Friends        = new FriendsFaker(this);
     GameOfThrones  = new GameOfThronesFaker(this);
     Hacker         = new HackerFaker(this);
     HarryPotter    = new HarryPotterFaker(this);
     Internet       = new InternetFaker(this);
     LordOfTheRings = new LordOfTheRingsFaker(this);
     Lorem          = new LoremFaker(this);
     Music          = new MusicFaker(this);
     Name           = new NameFaker(this);
     Number         = new NumberFaker();
     PhoneNumber    = new PhoneNumberFaker(this);
     Placeholdit    = new PlaceholditFaker(this);
     Pokemon        = new PokemonFaker(this);
     Random         = new RandomFaker();
     RickAndMorty   = new RickAndMortyFaker(this);
     RockBand       = new RockBandFaker(this);
     SlackEmoji     = new SlackEmojiFaker(this);
     Space          = new SpaceFaker(this);
     StarWars       = new StarWarsFaker(this);
     Superhero      = new SuperheroFaker(this);
     Team           = new TeamFaker(this);
     Time           = new TimeFaker();
     TwinPeaks      = new TwinPeaksFaker(this);
     University     = new UniversityFaker(this);
     Vehicle        = new VehicleFaker(this);
     Zelda          = new ZeldaFaker(this);
 }
Exemple #5
0
        public void HandleNonPreSignedUrlRequest()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CopyDBClusterSnapshotRequest
                {
                    KmsKeyId = kmsKeyId,
                    SourceDBClusterSnapshotIdentifier = sourceDBClusterSnapshotIdentifier,
                    TargetDBClusterSnapshotIdentifier = targetDBClusterSnapshotIdentifier
                };

                RunPreInvoke(request);
                Assert.IsNull(request.PreSignedUrl);
            });
        }
Exemple #6
0
        public void HandlePreSignedUrlRequestNoSourceRegion()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CopyDBClusterSnapshotRequest
                {
                    KmsKeyId = kmsKeyId,
                    SourceDBClusterSnapshotIdentifier = sourceDBClusterSnapshotIdentifier,
                    TargetDBClusterSnapshotIdentifier = targetDBClusterSnapshotIdentifier,
                    PreSignedUrl = "https://aws.com"
                };

                RunPreInvoke(request);
                Assert.AreEqual("https://aws.com", request.PreSignedUrl);
            });
        }
Exemple #7
0
        public void HandleNonPreSignedUrlRequest()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CreateDBClusterRequest
                {
                    KmsKeyId            = kmsKeyId,
                    DBClusterIdentifier = dBClusterIdentifier,
                    Engine                      = engine,
                    StorageEncrypted            = storageEncrypted,
                    ReplicationSourceIdentifier = replicationSourceIdentifier
                };

                RunPreInvoke(request);
                Assert.IsNull(request.PreSignedUrl);
            });
        }
 public FakerContainer()
 {
     Address  = new AddressFaker(this);
     App      = new AppFaker(this);
     Book     = new BookFaker(this);
     Boolean  = new BooleanFaker();
     Business = new BusinessFaker(this);
     Date     = new DateFaker();
     Fake     = new FakeFaker(this);
     Friends  = new FriendsFaker(this);
     Lorem    = new LoremFaker(this);
     Name     = new NameFaker(this);
     Number   = new NumberFaker();
     Pokemon  = new PokemonFaker(this);
     Random   = new RandomFaker();
     Time     = new TimeFaker();
     Zelda    = new ZeldaFaker(this);
 }
Exemple #9
0
        public void HandlePreSignedUrlRequest()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CopyDBClusterSnapshotRequest
                {
                    KmsKeyId = kmsKeyId,
                    SourceDBClusterSnapshotIdentifier = sourceDBClusterSnapshotIdentifier,
                    TargetDBClusterSnapshotIdentifier = targetDBClusterSnapshotIdentifier,
                    SourceRegion = sourceRegion
                };

                RunPreInvoke(request);

                Assert.IsNotNull(request.PreSignedUrl);
                Assert.IsTrue(request.PreSignedUrl.Contains("Signature=01eda84cb84ff1558373f4759aaf76aa4b7be8664241a58f6906ae842a0a9d74"));
            });
        }
Exemple #10
0
        public void HandleNonPreSignedUrlRequest()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CreateDBClusterRequest
                {
                    KmsKeyId            = kmsKeyId,
                    DBClusterIdentifier = dBClusterIdentifier,
                    Engine             = engine,
                    StorageEncrypted   = storageEncrypted,
                    MasterUsername     = masterUsername,
                    MasterUserPassword = masterPassword
                };

                RunPreInvoke(request);
                Assert.IsNull(request.PreSignedUrl);
            });
        }
Exemple #11
0
        public void HandlePreSignedUrlRequestNoSourceRegion()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CreateDBClusterRequest
                {
                    KmsKeyId            = kmsKeyId,
                    DBClusterIdentifier = dBClusterIdentifier,
                    Engine                      = engine,
                    StorageEncrypted            = storageEncrypted,
                    ReplicationSourceIdentifier = replicationSourceIdentifier,
                    PreSignedUrl                = "https://aws.com"
                };

                RunPreInvoke(request);
                Assert.AreEqual("https://aws.com", request.PreSignedUrl);
            });
        }
Exemple #12
0
        public void HandlePreSignedUrlRequest()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CreateDBClusterRequest
                {
                    KmsKeyId            = kmsKeyId,
                    DBClusterIdentifier = dBClusterIdentifier,
                    Engine                      = engine,
                    StorageEncrypted            = storageEncrypted,
                    ReplicationSourceIdentifier = replicationSourceIdentifier,
                    SourceRegion                = sourceRegion
                };

                RunPreInvoke(request);

                Assert.IsNotNull(request.PreSignedUrl);
                Assert.IsTrue(request.PreSignedUrl.Contains("Signature=1f654a3049149ef925f2ad58d4fd71fdf94791eb65848f866a6f451f9be655f7"));
            });
        }
Exemple #13
0
        public void HandlePreSignedUrlRequest()
        {
            DateFaker.Run(fixedSigningDate, () =>
            {
                var request = new CreateDBClusterRequest
                {
                    KmsKeyId            = kmsKeyId,
                    DBClusterIdentifier = dBClusterIdentifier,
                    Engine             = engine,
                    StorageEncrypted   = storageEncrypted,
                    MasterUsername     = masterUsername,
                    MasterUserPassword = masterPassword,
                    SourceRegion       = sourceRegion
                };

                RunPreInvoke(request);

                Assert.IsNotNull(request.PreSignedUrl);
                Assert.IsTrue(request.PreSignedUrl.Contains("Signature=015e49149a19b1f97a40e472ac8f6da55fb559c86834a3664a279fab99063e44"));
            });
        }
 public void SetUp()
 {
     _randomWrapper = new RandomWrapper();
     _dateFaker     = new DateFaker(_randomWrapper);
 }