def setUp(self): super().setUp() file_utils.ensure_empty( join(test.get_test_dir(self.test_name), 'private_resource')) self.copy_resource('calculator.py') self.copy_resource('calculator.proto') self.copy_resource('greeter.py') self.copy_resource('greeter.proto') from grpc.tools import command command.build_package_protos(join(test.get_test_dir(self.test_name), 'private_resource'), strict_mode=True)
def test_compose(self): self.populate_resource( 'docker-compose.yml', ''' version: '3.1' services: mockserver: image: jamesdbloom/mockserver ports: - "8000:1080" ''') self.populate_file( 'main.yaml', '''--- steps: - wait: seconds: 5 for: http: put: url: 'http://localhost:8000/mockserver/expectation' body: httpRequest: {'path': '/some/path'} httpResponse: {'body': 'hello world'} response_code: 201 - http: get: url: 'http://localhost:8000/mockserver/expectation', response_code: 200 ''') runner = Runner(self.test_dir, join(self.test_dir, 'main.yaml'), None, resources=join(test.get_test_dir(self.test_name), 'resources')) self.assertFalse(runner.run_tests())
def setUp(self): super().setUp() with self.connection as conn: conn.execute( "CREATE TABLE test (id INT NOT NULL, num INT, PRIMARY KEY (id));" ) conn.execute("insert into test(id, num) values(1, 1);") conn.execute("insert into test(id, num) values(2, 2);") ensure_empty(join(test.get_test_dir(self.test_name), 'resources'))
def setUp(self): super().setUp() ensure_empty(join(test.get_test_dir(self.test_name), 'resources')) import pika with pika.BlockingConnection(self.connectionParameters) as connection: channel = connection.channel() channel.exchange_declare(exchange=self.config['exchange'], exchange_type='topic') channel.queue_declare(queue=self.config['queue']) channel.queue_bind(exchange=self.config['exchange'], queue=self.config['queue'], routing_key=self.config['routingKey'])
def mock_fetch_package(dep: Package): test_dir = test.get_test_dir('deps_tests') tmp_path = join(os.getcwd(), test_dir, 'tmp') if dep.name == 'update_dep' and dep.git_vsn == '1.2.0': set_deps(join(tmp_path, dep.name), [{ 'name': 'dep3', 'url': 'https://github.com/comtihon/dep3', 'tag': '1.0.0' }]) if dep.name == 'remove_dep' and dep.git_vsn == '1.2.0': set_deps(join(tmp_path, dep.name), []) dep.update_from_cache(join(tmp_path, dep.name))
def setUp(self): super().setUp() print(self.conf) with self.connection as conn: cur = conn.cursor() cur.execute( "CREATE TABLE test (id serial PRIMARY KEY, num integer);") cur.execute("insert into test(id, num) values(1, 1);") cur.execute("insert into test(id, num) values(2, 2);") conn.commit() cur.close() ensure_empty(join(test.get_test_dir(self.test_name), 'resources'))
def setUp(self): super().setUp() conn = pymysql.connect(**self.conf) cur = conn.cursor() cur.execute( "CREATE TABLE test (id INT NOT NULL, num INT, PRIMARY KEY (id));") cur.execute("insert into test(id, num) values(1, 1);") cur.execute("insert into test(id, num) values(2, 2);") conn.commit() cur.close() conn.close() ensure_empty(join(test.get_test_dir(self.test_name), 'resources'))
def populate_resource(self, file: str, content: str): with open(join(test.get_test_dir(self.test_name), 'resources', file), 'w') as f: f.write(content)
def setUp(self): Singleton._instances = {} # clean singleton between tests ensure_empty(test.get_test_dir(self.test_name)) ensure_empty(join(test.get_test_dir(self.test_name), 'resources'))
def __init__(self, test_name, method_name): super().__init__(method_name) self._test_name = test_name self._test_dir = test.get_test_dir(test_name) logger.configure('debug') logger.log_storage = EmptyLogStorage('empty')
def __enter__(self): resources = join(test.get_test_dir('grpc'), 'private_resource') mod = module_utils.load_external_actions(join(resources, self.server)) self.server = mod.server self.server.start() return self
def setUp(self): ensure_empty(test.get_test_dir(self.test_name)) conf = self.global_config with open(self.conf_file, 'w') as outfile: json.dump(conf, outfile, sort_keys=True, indent=4)
def setUp(self): super().setUp() ensure_empty(join(test.get_test_dir(self.test_name), 'resources')) self.add_dag('airflow_hello_world.py')
def copy_resource(self, resource_name): # copy in private non-resource dir instead copyfile( join(self.global_resource_dir, resource_name), join(join(test.get_test_dir(self.test_name), 'private_resource'), resource_name))
def setUp(self): ensure_empty(test.get_test_dir(self.test_name))
def __init__(self, test_name, method_name): super().__init__(method_name) self._test_name = test_name self._test_dir = test.get_test_dir(test_name) logger.configure('debug')
def test_resources(self): # test's resource dir (unique per testcase) return join(test.get_test_dir(self.test_name), 'resources')
def tearDown(self): remove_dir(test.get_test_dir(self.test_name))
def setUp(self): super().setUp() ensure_empty(join(test.get_test_dir(self.test_name), 'resources')) self.populate_file( 'resources/test.py', '''from selenium import webdriver from selenium.webdriver.common.keys import Keys import os driver = webdriver.Firefox() try: driver.get(os.environ['site_url']) assert "Python" in driver.title elem = driver.find_element_by_name("q") elem.clear() elem.send_keys("pycon") elem.send_keys(Keys.RETURN) assert "No results found." not in driver.page_source finally: driver.close()''') self.populate_file( 'resources/google_search.js', '''const {Builder, By, Key, until} = require('selenium-webdriver'); async function basicExample(){ let driver = await new Builder().forBrowser('firefox').build(); try{ await driver.get(process.env.site_url); await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN); await driver.wait(until.titleContains('webdriver'), 1000); await driver.getTitle().then(function(title) { console.log('{\"title\":\"' + title + '\"}') }); driver.quit(); } catch(err) { console.error(err); process.exitCode = 1; driver.quit(); } } basicExample(); ''') self.populate_file( 'resources/MySeleniumTest.java', '''package selenium; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class MySeleniumTest { public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); try { driver.get(System.getenv("site_url")); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Cheese!"); element.submit(); } finally { driver.quit(); } } } ''')
def mock_fetch_package(dep: Package): test_dir = test.get_test_dir('update_tests') tmp_path = join(os.getcwd(), test_dir, 'tmp') dep.update_from_cache(join(tmp_path, dep.name))
def setUp(self): super().setUp() ensure_empty(join(test.get_test_dir(self.test_name), 'resources'))