Skip to content

Commit

Permalink
replace fake key with env var in optimize/resize tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nosilver4u committed Jan 17, 2024
1 parent 2f13c9c commit f53fe2e
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 26 deletions.
105 changes: 81 additions & 24 deletions tests/test-optimize.php
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand Down Expand Up @@ -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 );
Expand Down Expand Up @@ -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', '' );
Expand All @@ -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', '' );
Expand All @@ -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', '' );
Expand All @@ -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', '' );
Expand Down Expand Up @@ -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', '' );
Expand All @@ -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', '' );
Expand All @@ -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', '' );
Expand All @@ -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', '' );
Expand All @@ -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', '' );
Expand All @@ -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', '' );
Expand Down Expand Up @@ -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', '' );
Expand All @@ -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', '' );
Expand Down
23 changes: 21 additions & 2 deletions tests/test-resize.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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 );
Expand All @@ -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' );
Expand Down

0 comments on commit f53fe2e

Please sign in to comment.