def create_test_gear(category='utility'): # ## Do not modify the below gear document without checking the other callees! # gear = flywheel.Gear( #name=SdkTestCase.rand_string_lower(), name='site-gear', label=SdkTestCase.rand_string(), description=SdkTestCase.rand_string(), version=SdkTestCase.rand_string(), author=SdkTestCase.rand_string(), maintainer=SdkTestCase.rand_string(), license='Other', source='http://example.example', url='http://example.example', config={}, inputs={'any-file': { 'base': 'file' }}) gear_doc = flywheel.GearDoc(category=category, gear=gear, exchange=flywheel.GearExchange( git_commit='aex', rootfs_hash='sha384:oy', rootfs_url='http://example.example')) return SdkTestCase.fw.add_gear(gear.name, gear_doc)
def test_gears(self): fw = self.fw gear = flywheel.Gear( name=self.rand_string_lower(), label=self.rand_string(), description=self.rand_string(), version=self.rand_string(), author=self.rand_string(), maintainer=self.rand_string(), license='Other', source='http://example.example', url='http://example.example', config={}, inputs={} ) gear_doc = flywheel.GearDoc( category='utility', gear=gear ) # Add self.gear_id = gear_id = fw.add_gear(gear.name, gear_doc) self.assertIsNotNone(gear_id) # Get r_gear = fw.get_gear(gear_id) self.assertEqual(r_gear.gear.name, gear.name) self.assertTimestampBeforeNow(r_gear.created) self.assertGreaterEqual(r_gear.modified, r_gear.created) self.assertFalse(r_gear.is_analysis_gear()) # Get invocation gear_schema = fw.get_gear_invocation(gear_id) self.assertNotEmpty(gear_schema) self.assertIn('$schema', gear_schema) self.assertTrue(gear_schema['$schema'].startswith('http://json-schema.org')) # Get All gears = fw.get_all_gears() self.assertIn(r_gear, gears) # Delete fw.delete_gear(gear_id) self.gear_id = None gears = fw.get_all_gears() self.assertNotIn(r_gear, gears)
def test_site_settings(self): # Add a test gear gear = flywheel.Gear( name=self.rand_string_lower(), label=self.rand_string(), description=self.rand_string(), version=self.rand_string(), author=self.rand_string(), maintainer=self.rand_string(), license='Other', source='http://example.example', url='http://example.example', config={}, inputs={} ) gear_doc = flywheel.GearDoc( category='utility', gear=gear ) self.gear_id = self.fw.add_gear(gear.name, gear_doc) # Get current settings settings = self.fw.get_site_settings() self.assertIsNotNone(settings) gears = settings.get('center_gears') if gears is None: gears = [] self.fw.modify_site_settings({ 'center_gears': [gear.name] }) try: settings2 = self.fw.get_site_settings() self.assertIsNotNone(settings2.get('center_gears')) self.assertIn(gear.name, settings2['center_gears']) finally: self.fw.modify_site_settings({ 'center_gears': gears })