def test_valid_response_negative(self): response = Response( server='prod', protocol='3.0', date=datetime(2014, 1, 1, hour=15, minute=41, second=48), # 56508 sec apps_list=[ App('{430FD4D0-B729-4F61-AA34-91526481799D}', updatecheck=Updatecheck_negative(), ping=True), App('{D0AB2EBC-931B-4013-9FEB-C9C4C2225C8C}', updatecheck=Updatecheck_negative(), ping=True), ] ) self.assertXmlValidXSchema(response, filename=RESPONSE_XSD_FILE) self.assertXmlEquivalentOutputs(etree.tostring(response), fixtures.response_update_check_negative)
def test_valid_response_positive(self): updatecheck = Updatecheck_positive( urls=[ 'http://cache.pack.google.com/edgedl/chrome/install/782.112/' ], manifest=Manifest(version='13.0.782.112', packages=Packages([ Package( name='chrome_installer.exe', required='true', size='23963192', hash='VXriGUVI0TNqfLlU02vBel4Q3Zo=', ) ]), actions=Actions([ Action(event='install', arguments='--do-not-launch-chrome', run='chrome_installer.exe'), Action(event='postinstall', version='13.0.782.112', onsuccess='exitsilentlyonlaunchcmd'), ]))) app = App( '{D0AB2EBC-931B-4013-9FEB-C9C4C2225C8C}', status='ok', updatecheck=updatecheck, ping=True, ) response = Response( server='prod', protocol='3.0', date=datetime(2014, 1, 1, hour=15, minute=41, second=48), # 56508 sec apps_list=[ App('{430FD4D0-B729-4F61-AA34-91526481799D}', status='ok', ping=True, updatecheck=Updatecheck_negative()), app, ]) self.assertXmlValidXSchema(response, filename=RESPONSE_XSD_FILE) self.assertXmlEquivalentOutputs( etree.tostring(response), fixtures.response_update_check_positive)
def test_app(self): root = App(updatecheck=Updatecheck_negative(), **self.app_attr) self.assertXmlNode(root, tag='app', text=None) self.assertXmlHasAttribute(root, 'status', expected_value='ok') self.assertXmlHasAttribute(root, 'appid', expected_value=self.app_attr['app_id']) self.assertXpathsExist(root, ('./updatecheck', ))
def test_response(self): now = datetime.utcnow() elapsed_seconds = get_sec_since_midnight(now) root = Response( date=now, apps_list=[App(updatecheck=Updatecheck_negative(), **self.app_attr)]) self.assertXmlNode(root, tag='response', text=None) self.assertXpathsExist(root, ('./daystart',)) self.assertXpathsExist(root, ('./app',)) self.assertXpathsExist(root, ('./daystart[@elapsed_seconds="%s"]' % elapsed_seconds,))
def test_valid_response_event(self): response = Response( date=datetime(year=2014, month=1, day=1, hour=15, minute=45, second=54), apps_list=[App( app_id='{8A69D345-D564-463C-AFF1-A69D9E530F96}', status='ok', events=[Event(), Event(), Event()] )] ) self.assertXmlValidXSchema(response, filename=RESPONSE_XSD_FILE) self.assertXmlEquivalentOutputs(etree.tostring(response), fixtures.response_event)
def test_valid_response_data(self): response = Response( date=datetime(year=2014, month=1, day=1, hour=15, minute=45, second=54), apps_list=[App( app_id='{8A69D345-D564-463C-AFF1-A69D9E530F96}', status='ok', data_list=[ Data('install', index='verboselogging', text='app-specific values here'), Data('untrusted') ] )] ) self.assertXmlValidXSchema(response, filename=RESPONSE_XSD_FILE) self.assertXmlEquivalentOutputs(etree.tostring(response), fixtures.response_data_doc)
def test_valid_response_event(self): response = Response( date=datetime(year=2014, month=1, day=1, hour=15, minute=45, second=54), apps_list=[ App(app_id='{D0AB2EBC-931B-4013-9FEB-C9C4C2225C8C}', status='ok', events=[Event(), Event(), Event()]) ]) self.assertXmlValidXSchema(response, filename=RESPONSE_XSD_FILE) self.assertXmlEquivalentOutputs(etree.tostring(response), fixtures.response_event)