Last active
August 29, 2015 14:24
-
-
Save dEn13L/0010fe93fc502cb4f688 to your computer and use it in GitHub Desktop.
proxy util
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Главный класс | |
| */ | |
| public class AMProxy { | |
| public enum CasePlatform { | |
| Android("android"), | |
| iOS("ios"), | |
| Mac("mac"), | |
| WP("wp"), | |
| WS("ws") | |
| } | |
| public AMProxy() { | |
| // инициалиация прокси утилиты с дефолтным портом | |
| // парсинг всех json файлов и инициализация по ним кейсов и тестов в нем | |
| } | |
| /** | |
| * @param port - порт, который должна слушать утилита | |
| */ | |
| public AMProxy(int port) { | |
| // инициалиация прокси утилиты с указанным портом | |
| // парсинг всех json файлов и инициализация по ним кейсов и тестов в нем | |
| } | |
| /** | |
| * @param cases - массив конфигов | |
| */ | |
| public AMProxy(String[] cases) { | |
| // инициалиация прокси утилиты с дефолтным портом | |
| // инициализация по cases кейсов и тестов в нем | |
| // json искать и парсить не надо | |
| } | |
| /** | |
| * @param cases - массив конфигов | |
| * @param port - порт, который должна слушать утилита | |
| */ | |
| public AMProxy(String[] cases, int port) { | |
| // инициалиация прокси утилиты с указанным портом | |
| // инициализация по cases кейсов и тестов в нем | |
| // json искать и парсить не надо | |
| } | |
| /** | |
| * Возвращает массив всех кейсов из всех файлов | |
| */ | |
| public List<AMCase> getCases() { | |
| return cases; | |
| } | |
| /** | |
| * Возвращает массив всех кейсов из всех файлов для указанной платформы | |
| */ | |
| public List<AMCase> getCases(CasePlatform casePlatform) { | |
| // Поиск кейсов для указанной платформы | |
| return cases; | |
| } | |
| /** | |
| * Возвращает требуемый case или null, если не нашел ничего | |
| */ | |
| public AMCase getCase(CasePlatform casePlatform, String caseName) { | |
| // Поиск кейса | |
| return amCase; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Использование | |
| */ | |
| public static void main(String args[]) { | |
| // создает экземпляр снифера | |
| AMProxy amProxy = new AMProxy(); | |
| // напечатать локальный адрес | |
| String localIp = amProxy.getLocalIp(); | |
| System.out.println("localIp: " + localIp); | |
| // напечатать локальный порт | |
| String localPort = amProxy.getLocalPort(); | |
| System.out.println("localPort: " + localPort); | |
| // экземпляр интерфейсса для обработки после проверки кейса | |
| ICase iCase = new ICase() { | |
| @Override | |
| // принимает объект типа кейс | |
| public void caseResult(AMCase amCase) { | |
| // если статут данного кейса положительный... | |
| if (amCase.getStatus()) { | |
| System.out.println("Case " + amCase.getName() + " successfully finished"); | |
| } else { | |
| System.out.println("Case " + amCase.getName() + " failed"); | |
| } | |
| } | |
| }; | |
| // устанавливает список кейсов из всех файлов типа .json, которые нашел в ресурсах /resources/*.json | |
| List<AMCase> amCaseList = amProxy.getCases(); | |
| AMCase amCase = amProxy.getCase(CasePlatform.Android, "Paid"); | |
| // запуск проверки кейса | |
| // сначала набираются пары реквестов-респонсов в очередь в течении длительности кейса(duration) | |
| // потом происходит сравнение с кейсом | |
| // по окончнии сравнения вызывается iCase | |
| amProxy.execute(amCase, iCase); | |
| // отдает список тестов данного кейса для информации | |
| List<AMTest> amTestList = amCase.getTests(); | |
| for (AMTest amTest : amTestList) { | |
| // выводит имя теста и статус( true / false ) теста | |
| System.out.println( amTest.getName() ); | |
| System.out.println( "test status = " + amTest.getStatus() ); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment