All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cloudinary.test.MockableTest Maven / Gradle / Ivy

package com.cloudinary.test;

import com.cloudinary.Cloudinary;
import com.cloudinary.utils.ObjectUtils;
import com.cloudinary.utils.StringUtils;

import static org.junit.Assume.assumeTrue;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class MockableTest {

    public static final String SRC_TEST_IMAGE = "../cloudinary-test-common/src/main/resources/old_logo.png";
    public static final String SRC_TEST_VIDEO = "http://res.cloudinary.com/demo/video/upload/dog.mp4";
    public static final String SRC_TEST_RAW = "../cloudinary-test-common/src/main/resources/docx.docx";
    public static final String REMOTE_TEST_IMAGE = "http://cloudinary.com/images/old_logo.png";
    protected static String SUFFIX = StringUtils.isNotBlank(System.getenv("TRAVIS_JOB_ID")) ? System.getenv("TRAVIS_JOB_ID") : String.valueOf(new Random().nextInt(99999));
    protected static final String SDK_TEST_TAG = "cloudinary_java_test_" + SUFFIX;
    protected Cloudinary cloudinary;

    protected Object getParam(String name){
        throw new UnsupportedOperationException();
    }
    protected String getURL(){
        throw new UnsupportedOperationException();
    }
    protected String getHttpMethod(){
        throw new UnsupportedOperationException();
    }

    protected Map preloadResource(Map options) throws IOException {
        if (!options.containsKey("tags")){
            throw new IllegalArgumentException("Must provide unique per-class tags");
        }
        Map combinedOptions = ObjectUtils.asMap("transformation", "c_scale,w_100");
        combinedOptions.putAll(options);
        return cloudinary.uploader().upload("http://res.cloudinary.com/demo/image/upload/sample", combinedOptions);
    }

    private static final List enabledAddons = getEnabledAddons();

    protected void assumeAddonEnabled(String addon) throws Exception {
        boolean enabled = enabledAddons.contains(addon.toLowerCase()) 
            || (enabledAddons.size() == 1 && enabledAddons.get(0).equalsIgnoreCase("all"));

        assumeTrue(String.format("Use CLD_TEST_ADDONS environment variable to enable tests for %s.", addon), enabled);
    }

    private static List getEnabledAddons() {
        String envAddons = System.getenv()
            .getOrDefault("CLD_TEST_ADDONS", "")
            .toLowerCase()
            .replaceAll("\\s", "");

        return Arrays.asList(envAddons.split(","));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy