/// <summary> /// Handles the Click event of the btnSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void btnSave_Click(object sender, EventArgs e) { using (var rockContext = new RockContext()) { AssetStorageProvider assetStorageProvider = null; var assetStorageProviderService = new AssetStorageProviderService(rockContext); if (AssetStorageProviderId != 0) { assetStorageProvider = assetStorageProviderService.Get(AssetStorageProviderId); } if (assetStorageProvider == null) { assetStorageProvider = new Rock.Model.AssetStorageProvider(); assetStorageProviderService.Add(assetStorageProvider); } assetStorageProvider.Name = tbName.Text; assetStorageProvider.IsActive = cbIsActive.Checked; assetStorageProvider.Description = tbDescription.Text; assetStorageProvider.EntityTypeId = cpAssetStorageType.SelectedEntityTypeId; rockContext.SaveChanges(); assetStorageProvider.LoadAttributes(rockContext); Rock.Attribute.Helper.GetEditValues(phAttributes, assetStorageProvider); assetStorageProvider.SaveAttributeValues(rockContext); } NavigateToParentPage(); }
private static void CreateAssetStorageProvider(TestContext testContext) { AssetStorageProvider assetStorageProvider = null; var bucketName = testContext.Properties["GoogleBucketName"].ToStringSafe(); var apiKey = testContext.Properties["GoogleServiceAccountJsonKey"].ToStringSafe(); // Just Assert Inconclusive if the GoogleStorageAccountName and GoogleAccountAccessKey are blank if (string.IsNullOrEmpty(bucketName) || string.IsNullOrEmpty(apiKey)) { Assert.That.Inconclusive($"The GoogleStorageAccountName and GoogleAccountAccessKey must be set up in your Test > Test Settings > Test Setting File in order to run these tests."); } try { using (var rockContext = new RockContext()) { var assetStorageProviderService = new AssetStorageProviderService(rockContext); assetStorageProvider = assetStorageProviderService.Get(_assetStorageProviderServiceGuid); if (assetStorageProvider == null) { // This is the registered Guid for the 'Rock.Storage.AssetStorage.GoogleCloudStorageComponent' entity type var entityType = EntityTypeCache.Get(Rock.SystemGuid.EntityType.STORAGE_ASSETSTORAGE_GOOGLECLOUD.AsGuid()); assetStorageProvider = new AssetStorageProvider(); assetStorageProvider.Name = "TEST Google Cloud AssetStorageProvider"; assetStorageProvider.Guid = _assetStorageProviderServiceGuid; assetStorageProvider.EntityTypeId = entityType.Id; assetStorageProvider.IsActive = true; assetStorageProviderService.Add(assetStorageProvider); rockContext.SaveChanges(); var assetStorageProviderComponentEntityType = EntityTypeCache.Get(assetStorageProvider.EntityTypeId.Value); var assetStorageProviderEntityType = EntityTypeCache.Get <Rock.Model.AssetStorageProvider>(); Helper.UpdateAttributes( assetStorageProviderComponentEntityType.GetEntityType(), assetStorageProviderEntityType.Id, "EntityTypeId", assetStorageProviderComponentEntityType.Id.ToString(), rockContext); } assetStorageProvider.LoadAttributes(); assetStorageProvider.SetAttributeValue("BucketName", bucketName); assetStorageProvider.SetAttributeValue("ApiKey", Encryption.EncryptString(apiKey)); assetStorageProvider.SetAttributeValue("RootFolder", testContext.Properties["UnitTestRootFolder"].ToStringSafe()); assetStorageProvider.SaveAttributeValues(rockContext); } } catch (System.Exception ex) { Assert.That.Inconclusive($"Unable to get the Google Cloud Asset Storage Provider ({ex.Message})."); } }
private static void CreateAssetStorageProvider(TestContext testContext) { AssetStorageProvider assetStorageProvider = null; var accessKey = testContext.Properties["AWSAccessKey"].ToStringSafe(); var secretKey = testContext.Properties["AWSSecretKey"].ToStringSafe(); try { using (var rockContext = new RockContext()) { var assetStorageProviderService = new AssetStorageProviderService(rockContext); assetStorageProvider = assetStorageProviderService.Get(_assetStorageProviderServiceGuid); if (assetStorageProvider == null) { var entityType = EntityTypeCache.Get(Rock.SystemGuid.EntityType.STORAGE_ASSETSTORAGE_AMAZONS3.AsGuid()); assetStorageProvider = new AssetStorageProvider(); assetStorageProvider.Name = "TEST Amazon S3 AssetStorageProvider"; assetStorageProvider.Guid = _assetStorageProviderServiceGuid; assetStorageProvider.EntityTypeId = entityType.Id; assetStorageProvider.IsActive = true; assetStorageProviderService.Add(assetStorageProvider); rockContext.SaveChanges(); var assetStorageProviderComponentEntityType = EntityTypeCache.Get(assetStorageProvider.EntityTypeId.Value); var assetStorageProviderEntityType = EntityTypeCache.Get <Rock.Model.AssetStorageProvider>(); Helper.UpdateAttributes( assetStorageProviderComponentEntityType.GetEntityType(), assetStorageProviderEntityType.Id, "EntityTypeId", assetStorageProviderComponentEntityType.Id.ToString(), rockContext); } assetStorageProvider.LoadAttributes(); assetStorageProvider.SetAttributeValue("GenerateSingedURLs", "False"); // The attribute Key has that typo. assetStorageProvider.SetAttributeValue("AWSRegion", testContext.Properties["AWSRegion"].ToStringSafe()); assetStorageProvider.SetAttributeValue("Bucket", testContext.Properties["AWSBucket"].ToStringSafe()); assetStorageProvider.SetAttributeValue("Expiration", "525600"); assetStorageProvider.SetAttributeValue("RootFolder", testContext.Properties["UnitTestRootFolder"].ToStringSafe()); assetStorageProvider.SetAttributeValue("AWSProfileName", testContext.Properties["AWSProfileName"].ToStringSafe()); assetStorageProvider.SetAttributeValue("AWSAccessKey", accessKey); assetStorageProvider.SetAttributeValue("AWSSecretKey", secretKey); assetStorageProvider.SaveAttributeValues(rockContext); } } catch (System.Exception ex) { Assert.That.Inconclusive($"Unable to get the Amazon S3 Asset Storage Provider ({ex.Message})."); } }