package ru.qatools.gridrouter.caps; import org.springframework.stereotype.Service; import ru.qatools.gridrouter.json.JsonCapabilities; import java.util.Map; /** * <p> * Sets "keepKeyChains" capability for Mac sessions. * </p> * * @author Ivan Krutov vania-pooh@yandex-team.ru * */ @SuppressWarnings("JavadocReference") @Service public class AppiumCapabilityProcessor implements CapabilityProcessor { private static final String PLATFORM_NAME = "platformName"; private static final String IOS = "iOS"; @Override public boolean accept(JsonCapabilities caps) { return caps.getBrowserName().isEmpty() && isMac(caps); } @Override public void process(JsonCapabilities caps) { caps.any().put("keepKeyChains", true); } private boolean isMac(JsonCapabilities jsonCapabilities) { Map<String, Object> capsMap = jsonCapabilities.any(); return capsMap.containsKey(PLATFORM_NAME) && String.valueOf(capsMap.get(PLATFORM_NAME)).contains(IOS); } }