From f53fe2e97f319633a9c301595df19c65e0854a78 Mon Sep 17 00:00:00 2001 From: Shane Bishop Date: Wed, 17 Jan 2024 13:01:20 -0700 Subject: [PATCH] replace fake key with env var in optimize/resize tests --- tests/test-optimize.php | 105 +++++++++++++++++++++++++++++++--------- tests/test-resize.php | 23 ++++++++- 2 files changed, 102 insertions(+), 26 deletions(-) diff --git a/tests/test-optimize.php b/tests/test-optimize.php index 0da22b2..2bc78af 100644 --- a/tests/test-optimize.php +++ b/tests/test-optimize.php @@ -46,6 +46,13 @@ class EWWWIO_Optimize_Tests extends WP_UnitTestCase { */ public static $test_svg = ''; + /** + * The API key used for API-based tests. + * + * @var stringg $api_key + */ + public static $api_key = ''; + /** * Downloads test images. */ @@ -74,6 +81,8 @@ public static function set_up_before_class() { rename( $test_svg, $temp_upload_dir . wp_basename( $test_svg ) ); self::$test_svg = $temp_upload_dir . wp_basename( $test_svg ); + self::$api_key = getenv( 'EWWWIO_API_KEY' ); + ewwwio()->set_defaults(); update_option( 'ewww_image_optimizer_jpg_level', 10 ); update_option( 'ewww_image_optimizer_gif_level', 10 ); @@ -222,14 +231,18 @@ function test_optimize_jpg_10_keep_meta() { * Test Max Lossless JPG optimization with WebP (API level 20). */ function test_optimize_jpg_20() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_metadata_remove', true ); update_option( 'ewww_image_optimizer_jpg_level', 20 ); update_option( 'ewww_image_optimizer_webp', true ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); update_site_option( 'ewww_image_optimizer_jpg_level', 20 ); update_site_option( 'ewww_image_optimizer_webp', true ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_jpg(); update_option( 'ewww_image_optimizer_webp', '' ); update_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -247,14 +260,18 @@ function test_optimize_jpg_20() { * Test lossless JPG via API and keeps meta with WebP and autorotation check. */ function test_optimize_jpg_20_keep_meta() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_metadata_remove', '' ); update_option( 'ewww_image_optimizer_jpg_level', 20 ); update_option( 'ewww_image_optimizer_webp', true ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_metadata_remove', '' ); update_site_option( 'ewww_image_optimizer_jpg_level', 20 ); update_site_option( 'ewww_image_optimizer_webp', true ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_jpg(); update_option( 'ewww_image_optimizer_webp', '' ); update_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -276,12 +293,16 @@ function test_optimize_jpg_20_keep_meta() { * Test Regular Lossy JPG optimization (API level 30). */ function test_optimize_jpg_30() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_metadata_remove', true ); update_option( 'ewww_image_optimizer_jpg_level', 30 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); update_site_option( 'ewww_image_optimizer_jpg_level', 30 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_jpg(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -293,12 +314,16 @@ function test_optimize_jpg_30() { * Test Max Lossy JPG optimization (API level 40). */ function test_optimize_jpg_40() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_metadata_remove', true ); update_option( 'ewww_image_optimizer_jpg_level', 40 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); update_site_option( 'ewww_image_optimizer_jpg_level', 40 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_jpg(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -388,12 +413,16 @@ function test_optimize_png_40_optipng() { * Test "better" lossless PNG with API, no meta. */ function test_optimize_png_20() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_png_level', 20 ); update_option( 'ewww_image_optimizer_metadata_remove', true ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_png_level', 20 ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_png(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -405,12 +434,16 @@ function test_optimize_png_20() { * Test regular lossy PNG with API. */ function test_optimize_png_40() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_png_level', 40 ); update_option( 'ewww_image_optimizer_metadata_remove', true ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_png_level', 40 ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_png(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -422,12 +455,16 @@ function test_optimize_png_40() { * Test max lossy PNG with API. */ function test_optimize_png_50() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_png_level', 50 ); update_option( 'ewww_image_optimizer_metadata_remove', true ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_png_level', 50 ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_png(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -450,11 +487,15 @@ function test_optimize_gif_10() { * Test lossless GIF via API. */ function test_optimize_gif_10_api() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_gif_level', 10 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_option( 'ewww_image_optimizer_webp', true ); update_site_option( 'ewww_image_optimizer_gif_level', 10 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_webp', true ); $results = $this->optimize_gif(); update_option( 'ewww_image_optimizer_webp', '' ); @@ -473,10 +514,14 @@ function test_optimize_gif_10_api() { * Test lossless PDF via API. */ function test_optimize_pdf_10() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_pdf_level', 10 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_pdf_level', 10 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_pdf(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -488,10 +533,14 @@ function test_optimize_pdf_10() { * Test lossy PDF via API. */ function test_optimize_pdf_20() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_pdf_level', 20 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_pdf_level', 20 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_pdf(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -525,10 +574,14 @@ function test_optimize_svg_10() { * Test minimal SVG via API. */ function test_optimize_svg_01_api() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_svg_level', 1 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_svg_level', 1 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_svg(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); @@ -540,10 +593,14 @@ function test_optimize_svg_01_api() { * Test default SVG via API. */ function test_optimize_svg_10_api() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_svg_level', 10 ); - update_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); update_site_option( 'ewww_image_optimizer_svg_level', 10 ); - update_site_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + update_site_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); $results = $this->optimize_svg(); update_option( 'ewww_image_optimizer_cloud_key', '' ); update_site_option( 'ewww_image_optimizer_cloud_key', '' ); diff --git a/tests/test-resize.php b/tests/test-resize.php index 2f1b31d..86cc648 100644 --- a/tests/test-resize.php +++ b/tests/test-resize.php @@ -32,13 +32,24 @@ class EWWWIO_Resize_Tests extends WP_UnitTestCase { */ public static $test_gif = ''; + /** + * The API key used for API-based tests. + * + * @var stringg $api_key + */ + public static $api_key = ''; + /** * Downloads test images. */ public static function set_up_before_class() { + self::$test_jpg = download_url( 'https://ewwwio-test.sfo2.digitaloceanspaces.com/unit-tests/20170314_174658.jpg' ); copy( self::$test_jpg, self::$test_jpg . '.jpg' ); self::$test_jpg .= '.jpg'; + + self::$api_key = getenv( 'EWWWIO_API_KEY' ); + ewwwio()->set_defaults(); update_option( 'ewww_image_optimizer_jpg_level', '10' ); ewwwio()->local->install_tools(); @@ -96,11 +107,15 @@ function test_crop_jpg_local() { * Creates a JPG attachment while resizing is enabled (no cropping) using API. */ function test_scale_jpg_cloud() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_metadata_remove', true ); update_option( 'ewww_image_optimizer_jpg_level', 20 ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); update_site_option( 'ewww_image_optimizer_jpg_level', 20 ); - ewww_image_optimizer_set_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + ewww_image_optimizer_set_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); ewww_image_optimizer_set_option( 'ewww_image_optimizer_maxotherwidth', 1024 ); ewww_image_optimizer_set_option( 'ewww_image_optimizer_maxotherheight', 1024 ); $id = $this->factory->attachment->create_upload_object( self::$test_jpg ); @@ -115,11 +130,15 @@ function test_scale_jpg_cloud() { * Creates a JPG attachment while resizing is enabled (crop-mode) using API. */ function test_crop_jpg_cloud() { + if ( empty( self::$api_key ) ) { + self::markTestSkipped( 'No API key available.' ); + } + update_option( 'ewww_image_optimizer_metadata_remove', true ); update_option( 'ewww_image_optimizer_jpg_level', 20 ); update_site_option( 'ewww_image_optimizer_metadata_remove', true ); update_site_option( 'ewww_image_optimizer_jpg_level', 20 ); - ewww_image_optimizer_set_option( 'ewww_image_optimizer_cloud_key', 'abc123' ); + ewww_image_optimizer_set_option( 'ewww_image_optimizer_cloud_key', self::$api_key ); ewww_image_optimizer_set_option( 'ewww_image_optimizer_maxotherwidth', 1024 ); ewww_image_optimizer_set_option( 'ewww_image_optimizer_maxotherheight', 1024 ); add_filter( 'ewww_image_optimizer_crop_image', '__return_true' );