Best Python code snippet using hypothesis
_nsgroup.py
Source:_nsgroup.py
1# .\_nsgroup.py2# -*- coding: utf-8 -*-3# PyXB bindings for NGM:eda8ee6049a70cff4ee5ef1b322739b6f309f0504# Generated 2014-07-13 21:22:00.732000 by PyXB version 1.2.35# Group contents:6# Namespace http://www.purl.org/dc/elements/1.1/ [xmlns:dc]7# Namespace http://www.w3.org/1999/02/22-rdf-syntax-ns# [xmlns:rdf]8import pyxb9import pyxb.binding10import pyxb.utils.utility11# Unique identifier for bindings created at the same time12_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:6151674f-0b0e-11e4-b5d8-7071bcf839fc')13# Import bindings for schemas in group14import pyxb.binding.datatypes15# NOTE: All namespace declarations are reserved within the binding16_Namespace_dc = pyxb.namespace.NamespaceForURI(u'http://www.purl.org/dc/elements/1.1/', create_if_missing=True)17_Namespace_dc.configureCategories(['typeBinding', 'elementBinding'])18_Namespace_rdf = pyxb.namespace.NamespaceForURI(u'http://www.w3.org/1999/02/22-rdf-syntax-ns#', create_if_missing=True)19_Namespace_rdf.configureCategories(['typeBinding', 'elementBinding'])20# Atomic simple type: {http://www.purl.org/dc/elements/1.1/}SECURITY21class SECURITY (pyxb.binding.datatypes.string):22 """An atomic simple type."""23 _ExpandedName = pyxb.namespace.ExpandedName(_Namespace_dc, u'SECURITY')24 _XSDLocation = pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 50, 1)25 _Documentation = None26SECURITY._CF_pattern = pyxb.binding.facets.CF_pattern()27SECURITY._CF_pattern.addPattern(pattern=u'[0-9]{1,2}(_(cc[0-9]{2})?(_cv[0-9]{2})?)?')28SECURITY._InitializeFacetMap(SECURITY._CF_pattern)29_Namespace_dc.addCategoryObject('typeBinding', u'SECURITY', SECURITY)30# Atomic simple type: {http://www.purl.org/dc/elements/1.1/}LANGUAGE-COUNTRY31class LANGUAGE_COUNTRY (pyxb.binding.datatypes.string):32 """An atomic simple type."""33 _ExpandedName = pyxb.namespace.ExpandedName(_Namespace_dc, u'LANGUAGE-COUNTRY')34 _XSDLocation = pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 56, 1)35 _Documentation = None36LANGUAGE_COUNTRY._CF_pattern = pyxb.binding.facets.CF_pattern()37LANGUAGE_COUNTRY._CF_pattern.addPattern(pattern=u'[a-z]{2,3}(-[A-Z]{2})?')38LANGUAGE_COUNTRY._InitializeFacetMap(LANGUAGE_COUNTRY._CF_pattern)39_Namespace_dc.addCategoryObject('typeBinding', u'LANGUAGE-COUNTRY', LANGUAGE_COUNTRY)40# Complex type [anonymous] with content type ELEMENT_ONLY41class CTD_ANON (pyxb.binding.basis.complexTypeDefinition):42 """Complex type [anonymous] with content type ELEMENT_ONLY"""43 _TypeDefinition = None44 _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY45 _Abstract = False46 _ExpandedName = None47 _XSDLocation = pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\rdf.xsd', 24, 2)48 _ElementMap = {}49 _AttributeMap = {}50 # Base type is pyxb.binding.datatypes.anyType51 52 # Element {http://www.purl.org/dc/elements/1.1/}title uses Python identifier title53 __title = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'title'), 'title', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1title', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 22, 1), )54 55 title = property(__title.value, __title.set, None, None)56 57 # Element {http://www.purl.org/dc/elements/1.1/}creator uses Python identifier creator58 __creator = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'creator'), 'creator', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1creator', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 23, 1), )59 60 creator = property(__creator.value, __creator.set, None, None)61 62 # Element {http://www.purl.org/dc/elements/1.1/}subject uses Python identifier subject63 __subject = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'subject'), 'subject', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1subject', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 24, 1), )64 65 subject = property(__subject.value, __subject.set, None, None)66 67 # Element {http://www.purl.org/dc/elements/1.1/}publisher uses Python identifier publisher68 __publisher = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'publisher'), 'publisher', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1publisher', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 25, 1), )69 70 publisher = property(__publisher.value, __publisher.set, None, None)71 72 # Element {http://www.purl.org/dc/elements/1.1/}contributor uses Python identifier contributor73 __contributor = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'contributor'), 'contributor', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1contributor', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 26, 1), )74 75 contributor = property(__contributor.value, __contributor.set, None, None)76 77 # Element {http://www.purl.org/dc/elements/1.1/}date uses Python identifier date78 __date = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'date'), 'date', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1date', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 27, 1), )79 80 date = property(__date.value, __date.set, None, None)81 82 # Element {http://www.purl.org/dc/elements/1.1/}type uses Python identifier type83 __type = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'type'), 'type', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1type', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 28, 1), )84 85 type = property(__type.value, __type.set, None, None)86 87 # Element {http://www.purl.org/dc/elements/1.1/}format uses Python identifier format88 __format = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'format'), 'format', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1format', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 29, 1), )89 90 format = property(__format.value, __format.set, None, None)91 92 # Element {http://www.purl.org/dc/elements/1.1/}identifier uses Python identifier identifier93 __identifier = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'identifier'), 'identifier', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1identifier', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 30, 1), )94 95 identifier = property(__identifier.value, __identifier.set, None, None)96 97 # Element {http://www.purl.org/dc/elements/1.1/}language uses Python identifier language98 __language = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'language'), 'language', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1language', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 31, 1), )99 100 language = property(__language.value, __language.set, None, None)101 102 # Element {http://www.purl.org/dc/elements/1.1/}rights uses Python identifier rights103 __rights = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(_Namespace_dc, u'rights'), 'rights', '__httpwww_w3_org19990222_rdf_syntax_ns_CTD_ANON_httpwww_purl_orgdcelements1_1rights', True, pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 32, 1), )104 105 rights = property(__rights.value, __rights.set, None, None)106 _ElementMap.update({107 __title.name() : __title,108 __creator.name() : __creator,109 __subject.name() : __subject,110 __publisher.name() : __publisher,111 __contributor.name() : __contributor,112 __date.name() : __date,113 __type.name() : __type,114 __format.name() : __format,115 __identifier.name() : __identifier,116 __language.name() : __language,117 __rights.name() : __rights118 })119 _AttributeMap.update({120 121 })122title = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'title'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 22, 1))123_Namespace_dc.addCategoryObject('elementBinding', title.name().localName(), title)124creator = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'creator'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 23, 1))125_Namespace_dc.addCategoryObject('elementBinding', creator.name().localName(), creator)126subject = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'subject'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 24, 1))127_Namespace_dc.addCategoryObject('elementBinding', subject.name().localName(), subject)128publisher = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'publisher'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 25, 1))129_Namespace_dc.addCategoryObject('elementBinding', publisher.name().localName(), publisher)130contributor = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'contributor'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 26, 1))131_Namespace_dc.addCategoryObject('elementBinding', contributor.name().localName(), contributor)132date = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'date'), pyxb.binding.datatypes.date, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 27, 1))133_Namespace_dc.addCategoryObject('elementBinding', date.name().localName(), date)134type = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'type'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 28, 1), fixed=True, unicode_default=u'text')135_Namespace_dc.addCategoryObject('elementBinding', type.name().localName(), type)136format = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'format'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 29, 1), fixed=True, unicode_default=u'text/xml')137_Namespace_dc.addCategoryObject('elementBinding', format.name().localName(), format)138identifier = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'identifier'), pyxb.binding.datatypes.string, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 30, 1))139_Namespace_dc.addCategoryObject('elementBinding', identifier.name().localName(), identifier)140language = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'language'), LANGUAGE_COUNTRY, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 31, 1))141_Namespace_dc.addCategoryObject('elementBinding', language.name().localName(), language)142rights = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'rights'), SECURITY, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 32, 1))143_Namespace_dc.addCategoryObject('elementBinding', rights.name().localName(), rights)144Description = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_rdf, u'Description'), CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\rdf.xsd', 23, 1))145_Namespace_rdf.addCategoryObject('elementBinding', Description.name().localName(), Description)146CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'title'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 22, 1)))147CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'creator'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 23, 1)))148CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'subject'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 24, 1)))149CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'publisher'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 25, 1)))150CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'contributor'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 26, 1)))151CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'date'), pyxb.binding.datatypes.date, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 27, 1)))152CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'type'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 28, 1), fixed=True, unicode_default=u'text'))153CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'format'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 29, 1), fixed=True, unicode_default=u'text/xml'))154CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'identifier'), pyxb.binding.datatypes.string, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 30, 1)))155CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'language'), LANGUAGE_COUNTRY, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 31, 1)))156CTD_ANON._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(_Namespace_dc, u'rights'), SECURITY, scope=CTD_ANON, location=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 32, 1)))157def _BuildAutomaton ():158 # Remove this helper function from the namespace after it is invoked159 global _BuildAutomaton160 del _BuildAutomaton161 import pyxb.utils.fac as fac162 counters = set()163 cc_0 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\rdf.xsd', 26, 4))164 counters.add(cc_0)165 states = []166 final_update = set()167 final_update.add(fac.UpdateInstruction(cc_0, False))168 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'title')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 36, 3))169 st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)170 states.append(st_0)171 final_update = set()172 final_update.add(fac.UpdateInstruction(cc_0, False))173 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'creator')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 37, 3))174 st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)175 states.append(st_1)176 final_update = set()177 final_update.add(fac.UpdateInstruction(cc_0, False))178 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'subject')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 38, 3))179 st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)180 states.append(st_2)181 final_update = set()182 final_update.add(fac.UpdateInstruction(cc_0, False))183 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'publisher')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 39, 3))184 st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)185 states.append(st_3)186 final_update = set()187 final_update.add(fac.UpdateInstruction(cc_0, False))188 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'contributor')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 40, 3))189 st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)190 states.append(st_4)191 final_update = set()192 final_update.add(fac.UpdateInstruction(cc_0, False))193 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'date')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 41, 3))194 st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)195 states.append(st_5)196 final_update = set()197 final_update.add(fac.UpdateInstruction(cc_0, False))198 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'type')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 42, 3))199 st_6 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)200 states.append(st_6)201 final_update = set()202 final_update.add(fac.UpdateInstruction(cc_0, False))203 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'format')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 43, 3))204 st_7 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)205 states.append(st_7)206 final_update = set()207 final_update.add(fac.UpdateInstruction(cc_0, False))208 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'identifier')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 44, 3))209 st_8 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)210 states.append(st_8)211 final_update = set()212 final_update.add(fac.UpdateInstruction(cc_0, False))213 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'language')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 45, 3))214 st_9 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)215 states.append(st_9)216 final_update = set()217 final_update.add(fac.UpdateInstruction(cc_0, False))218 symbol = pyxb.binding.content.ElementUse(CTD_ANON._UseForTag(pyxb.namespace.ExpandedName(_Namespace_dc, u'rights')), pyxb.utils.utility.Location(u'i:\\xml_editor\\xml_editor\\schema\\dc.xsd', 46, 3))219 st_10 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)220 states.append(st_10)221 transitions = []222 transitions.append(fac.Transition(st_0, [223 fac.UpdateInstruction(cc_0, True) ]))224 transitions.append(fac.Transition(st_1, [225 fac.UpdateInstruction(cc_0, True) ]))226 transitions.append(fac.Transition(st_2, [227 fac.UpdateInstruction(cc_0, True) ]))228 transitions.append(fac.Transition(st_3, [229 fac.UpdateInstruction(cc_0, True) ]))230 transitions.append(fac.Transition(st_4, [231 fac.UpdateInstruction(cc_0, True) ]))232 transitions.append(fac.Transition(st_5, [233 fac.UpdateInstruction(cc_0, True) ]))234 transitions.append(fac.Transition(st_6, [235 fac.UpdateInstruction(cc_0, True) ]))236 transitions.append(fac.Transition(st_7, [237 fac.UpdateInstruction(cc_0, True) ]))238 transitions.append(fac.Transition(st_8, [239 fac.UpdateInstruction(cc_0, True) ]))240 transitions.append(fac.Transition(st_9, [241 fac.UpdateInstruction(cc_0, True) ]))242 transitions.append(fac.Transition(st_10, [243 fac.UpdateInstruction(cc_0, True) ]))244 st_0._set_transitionSet(transitions)245 transitions = []246 transitions.append(fac.Transition(st_0, [247 fac.UpdateInstruction(cc_0, True) ]))248 transitions.append(fac.Transition(st_1, [249 fac.UpdateInstruction(cc_0, True) ]))250 transitions.append(fac.Transition(st_2, [251 fac.UpdateInstruction(cc_0, True) ]))252 transitions.append(fac.Transition(st_3, [253 fac.UpdateInstruction(cc_0, True) ]))254 transitions.append(fac.Transition(st_4, [255 fac.UpdateInstruction(cc_0, True) ]))256 transitions.append(fac.Transition(st_5, [257 fac.UpdateInstruction(cc_0, True) ]))258 transitions.append(fac.Transition(st_6, [259 fac.UpdateInstruction(cc_0, True) ]))260 transitions.append(fac.Transition(st_7, [261 fac.UpdateInstruction(cc_0, True) ]))262 transitions.append(fac.Transition(st_8, [263 fac.UpdateInstruction(cc_0, True) ]))264 transitions.append(fac.Transition(st_9, [265 fac.UpdateInstruction(cc_0, True) ]))266 transitions.append(fac.Transition(st_10, [267 fac.UpdateInstruction(cc_0, True) ]))268 st_1._set_transitionSet(transitions)269 transitions = []270 transitions.append(fac.Transition(st_0, [271 fac.UpdateInstruction(cc_0, True) ]))272 transitions.append(fac.Transition(st_1, [273 fac.UpdateInstruction(cc_0, True) ]))274 transitions.append(fac.Transition(st_2, [275 fac.UpdateInstruction(cc_0, True) ]))276 transitions.append(fac.Transition(st_3, [277 fac.UpdateInstruction(cc_0, True) ]))278 transitions.append(fac.Transition(st_4, [279 fac.UpdateInstruction(cc_0, True) ]))280 transitions.append(fac.Transition(st_5, [281 fac.UpdateInstruction(cc_0, True) ]))282 transitions.append(fac.Transition(st_6, [283 fac.UpdateInstruction(cc_0, True) ]))284 transitions.append(fac.Transition(st_7, [285 fac.UpdateInstruction(cc_0, True) ]))286 transitions.append(fac.Transition(st_8, [287 fac.UpdateInstruction(cc_0, True) ]))288 transitions.append(fac.Transition(st_9, [289 fac.UpdateInstruction(cc_0, True) ]))290 transitions.append(fac.Transition(st_10, [291 fac.UpdateInstruction(cc_0, True) ]))292 st_2._set_transitionSet(transitions)293 transitions = []294 transitions.append(fac.Transition(st_0, [295 fac.UpdateInstruction(cc_0, True) ]))296 transitions.append(fac.Transition(st_1, [297 fac.UpdateInstruction(cc_0, True) ]))298 transitions.append(fac.Transition(st_2, [299 fac.UpdateInstruction(cc_0, True) ]))300 transitions.append(fac.Transition(st_3, [301 fac.UpdateInstruction(cc_0, True) ]))302 transitions.append(fac.Transition(st_4, [303 fac.UpdateInstruction(cc_0, True) ]))304 transitions.append(fac.Transition(st_5, [305 fac.UpdateInstruction(cc_0, True) ]))306 transitions.append(fac.Transition(st_6, [307 fac.UpdateInstruction(cc_0, True) ]))308 transitions.append(fac.Transition(st_7, [309 fac.UpdateInstruction(cc_0, True) ]))310 transitions.append(fac.Transition(st_8, [311 fac.UpdateInstruction(cc_0, True) ]))312 transitions.append(fac.Transition(st_9, [313 fac.UpdateInstruction(cc_0, True) ]))314 transitions.append(fac.Transition(st_10, [315 fac.UpdateInstruction(cc_0, True) ]))316 st_3._set_transitionSet(transitions)317 transitions = []318 transitions.append(fac.Transition(st_0, [319 fac.UpdateInstruction(cc_0, True) ]))320 transitions.append(fac.Transition(st_1, [321 fac.UpdateInstruction(cc_0, True) ]))322 transitions.append(fac.Transition(st_2, [323 fac.UpdateInstruction(cc_0, True) ]))324 transitions.append(fac.Transition(st_3, [325 fac.UpdateInstruction(cc_0, True) ]))326 transitions.append(fac.Transition(st_4, [327 fac.UpdateInstruction(cc_0, True) ]))328 transitions.append(fac.Transition(st_5, [329 fac.UpdateInstruction(cc_0, True) ]))330 transitions.append(fac.Transition(st_6, [331 fac.UpdateInstruction(cc_0, True) ]))332 transitions.append(fac.Transition(st_7, [333 fac.UpdateInstruction(cc_0, True) ]))334 transitions.append(fac.Transition(st_8, [335 fac.UpdateInstruction(cc_0, True) ]))336 transitions.append(fac.Transition(st_9, [337 fac.UpdateInstruction(cc_0, True) ]))338 transitions.append(fac.Transition(st_10, [339 fac.UpdateInstruction(cc_0, True) ]))340 st_4._set_transitionSet(transitions)341 transitions = []342 transitions.append(fac.Transition(st_0, [343 fac.UpdateInstruction(cc_0, True) ]))344 transitions.append(fac.Transition(st_1, [345 fac.UpdateInstruction(cc_0, True) ]))346 transitions.append(fac.Transition(st_2, [347 fac.UpdateInstruction(cc_0, True) ]))348 transitions.append(fac.Transition(st_3, [349 fac.UpdateInstruction(cc_0, True) ]))350 transitions.append(fac.Transition(st_4, [351 fac.UpdateInstruction(cc_0, True) ]))352 transitions.append(fac.Transition(st_5, [353 fac.UpdateInstruction(cc_0, True) ]))354 transitions.append(fac.Transition(st_6, [355 fac.UpdateInstruction(cc_0, True) ]))356 transitions.append(fac.Transition(st_7, [357 fac.UpdateInstruction(cc_0, True) ]))358 transitions.append(fac.Transition(st_8, [359 fac.UpdateInstruction(cc_0, True) ]))360 transitions.append(fac.Transition(st_9, [361 fac.UpdateInstruction(cc_0, True) ]))362 transitions.append(fac.Transition(st_10, [363 fac.UpdateInstruction(cc_0, True) ]))364 st_5._set_transitionSet(transitions)365 transitions = []366 transitions.append(fac.Transition(st_0, [367 fac.UpdateInstruction(cc_0, True) ]))368 transitions.append(fac.Transition(st_1, [369 fac.UpdateInstruction(cc_0, True) ]))370 transitions.append(fac.Transition(st_2, [371 fac.UpdateInstruction(cc_0, True) ]))372 transitions.append(fac.Transition(st_3, [373 fac.UpdateInstruction(cc_0, True) ]))374 transitions.append(fac.Transition(st_4, [375 fac.UpdateInstruction(cc_0, True) ]))376 transitions.append(fac.Transition(st_5, [377 fac.UpdateInstruction(cc_0, True) ]))378 transitions.append(fac.Transition(st_6, [379 fac.UpdateInstruction(cc_0, True) ]))380 transitions.append(fac.Transition(st_7, [381 fac.UpdateInstruction(cc_0, True) ]))382 transitions.append(fac.Transition(st_8, [383 fac.UpdateInstruction(cc_0, True) ]))384 transitions.append(fac.Transition(st_9, [385 fac.UpdateInstruction(cc_0, True) ]))386 transitions.append(fac.Transition(st_10, [387 fac.UpdateInstruction(cc_0, True) ]))388 st_6._set_transitionSet(transitions)389 transitions = []390 transitions.append(fac.Transition(st_0, [391 fac.UpdateInstruction(cc_0, True) ]))392 transitions.append(fac.Transition(st_1, [393 fac.UpdateInstruction(cc_0, True) ]))394 transitions.append(fac.Transition(st_2, [395 fac.UpdateInstruction(cc_0, True) ]))396 transitions.append(fac.Transition(st_3, [397 fac.UpdateInstruction(cc_0, True) ]))398 transitions.append(fac.Transition(st_4, [399 fac.UpdateInstruction(cc_0, True) ]))400 transitions.append(fac.Transition(st_5, [401 fac.UpdateInstruction(cc_0, True) ]))402 transitions.append(fac.Transition(st_6, [403 fac.UpdateInstruction(cc_0, True) ]))404 transitions.append(fac.Transition(st_7, [405 fac.UpdateInstruction(cc_0, True) ]))406 transitions.append(fac.Transition(st_8, [407 fac.UpdateInstruction(cc_0, True) ]))408 transitions.append(fac.Transition(st_9, [409 fac.UpdateInstruction(cc_0, True) ]))410 transitions.append(fac.Transition(st_10, [411 fac.UpdateInstruction(cc_0, True) ]))412 st_7._set_transitionSet(transitions)413 transitions = []414 transitions.append(fac.Transition(st_0, [415 fac.UpdateInstruction(cc_0, True) ]))416 transitions.append(fac.Transition(st_1, [417 fac.UpdateInstruction(cc_0, True) ]))418 transitions.append(fac.Transition(st_2, [419 fac.UpdateInstruction(cc_0, True) ]))420 transitions.append(fac.Transition(st_3, [421 fac.UpdateInstruction(cc_0, True) ]))422 transitions.append(fac.Transition(st_4, [423 fac.UpdateInstruction(cc_0, True) ]))424 transitions.append(fac.Transition(st_5, [425 fac.UpdateInstruction(cc_0, True) ]))426 transitions.append(fac.Transition(st_6, [427 fac.UpdateInstruction(cc_0, True) ]))428 transitions.append(fac.Transition(st_7, [429 fac.UpdateInstruction(cc_0, True) ]))430 transitions.append(fac.Transition(st_8, [431 fac.UpdateInstruction(cc_0, True) ]))432 transitions.append(fac.Transition(st_9, [433 fac.UpdateInstruction(cc_0, True) ]))434 transitions.append(fac.Transition(st_10, [435 fac.UpdateInstruction(cc_0, True) ]))436 st_8._set_transitionSet(transitions)437 transitions = []438 transitions.append(fac.Transition(st_0, [439 fac.UpdateInstruction(cc_0, True) ]))440 transitions.append(fac.Transition(st_1, [441 fac.UpdateInstruction(cc_0, True) ]))442 transitions.append(fac.Transition(st_2, [443 fac.UpdateInstruction(cc_0, True) ]))444 transitions.append(fac.Transition(st_3, [445 fac.UpdateInstruction(cc_0, True) ]))446 transitions.append(fac.Transition(st_4, [447 fac.UpdateInstruction(cc_0, True) ]))448 transitions.append(fac.Transition(st_5, [449 fac.UpdateInstruction(cc_0, True) ]))450 transitions.append(fac.Transition(st_6, [451 fac.UpdateInstruction(cc_0, True) ]))452 transitions.append(fac.Transition(st_7, [453 fac.UpdateInstruction(cc_0, True) ]))454 transitions.append(fac.Transition(st_8, [455 fac.UpdateInstruction(cc_0, True) ]))456 transitions.append(fac.Transition(st_9, [457 fac.UpdateInstruction(cc_0, True) ]))458 transitions.append(fac.Transition(st_10, [459 fac.UpdateInstruction(cc_0, True) ]))460 st_9._set_transitionSet(transitions)461 transitions = []462 transitions.append(fac.Transition(st_0, [463 fac.UpdateInstruction(cc_0, True) ]))464 transitions.append(fac.Transition(st_1, [465 fac.UpdateInstruction(cc_0, True) ]))466 transitions.append(fac.Transition(st_2, [467 fac.UpdateInstruction(cc_0, True) ]))468 transitions.append(fac.Transition(st_3, [469 fac.UpdateInstruction(cc_0, True) ]))470 transitions.append(fac.Transition(st_4, [471 fac.UpdateInstruction(cc_0, True) ]))472 transitions.append(fac.Transition(st_5, [473 fac.UpdateInstruction(cc_0, True) ]))474 transitions.append(fac.Transition(st_6, [475 fac.UpdateInstruction(cc_0, True) ]))476 transitions.append(fac.Transition(st_7, [477 fac.UpdateInstruction(cc_0, True) ]))478 transitions.append(fac.Transition(st_8, [479 fac.UpdateInstruction(cc_0, True) ]))480 transitions.append(fac.Transition(st_9, [481 fac.UpdateInstruction(cc_0, True) ]))482 transitions.append(fac.Transition(st_10, [483 fac.UpdateInstruction(cc_0, True) ]))484 st_10._set_transitionSet(transitions)485 return fac.Automaton(states, counters, True, containing_state=None)...
fts_transitions.py
Source:fts_transitions.py
1"""2Copyright (C) 2004-2015 Pivotal Software, Inc. All rights reserved.3This program and the accompanying materials are made available under4the terms of the under the Apache License, Version 2.0 (the "License");5you may not use this file except in compliance with the License.6You may obtain a copy of the License at7http://www.apache.org/licenses/LICENSE-2.08Unless required by applicable law or agreed to in writing, software9distributed under the License is distributed on an "AS IS" BASIS,10WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.11See the License for the specific language governing permissions and12limitations under the License.13"""14import tinctest15from mpp.lib.filerep_util import Filerepe2e_Util16from mpp.lib.config import GPDBConfig17from tinctest.models.scenario import ScenarioTestCase18from mpp.models import MPPTestCase19class FTSTestCase(ScenarioTestCase, MPPTestCase):20 ''' FTS transitions with filerep_faults and other cluster changes'''21 22 def __init__(self, methodName):23 super(FTSTestCase,self).__init__(methodName)24 def setUp(self):25 self.fileutil = Filerepe2e_Util()26 self.fileutil.inject_fault(f='all', m='async', y='reset', r='primary_mirror', H='ALL')27 super(FTSTestCase, self).setUp()28 def tearDown(self):29 super(FTSTestCase, self).tearDown()30 def check_system(self):31 '''32 Check state of system and exit if not in sync & up state33 '''34 test_case_list0 = []35 test_case_list0.append('mpp.gpdb.tests.storage.lib.dbstate.DbStateClass.check_system')36 self.test_case_scenario.append(test_case_list0)37 def run_gprecover_and_validation(self):38 '''39 Run gprecover and validation40 '''41 test_case_list0 = []42 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')43 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_insync')44 self.test_case_scenario.append(test_case_list0, serial=True)45 test_case_list1 = []46 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_validation')47 self.test_case_scenario.append(test_case_list1)48 def fts_test_run(self, filerep_role, filerep_state):49 test_case_list1 = []50 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')51 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')52 self.test_case_scenario.append(test_case_list1, serial=True)53 test_case_list2 = []54 test_case_list2.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml')55 self.test_case_scenario.append(test_case_list2)56 test_case_list3 = []57 test_case_list3.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate', [filerep_role, filerep_state]))58 self.test_case_scenario.append(test_case_list3)59 self.run_gprecover_and_validation()60 61 def filerep_sync_ct(self, fault_name, fault_type, fault_role, filerep_state, filerep_role):62 '''63 sync_ct_tests with fierep faults64 '''65 self.check_system()66 test_case_list0 = []67 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', [fault_name, fault_type, fault_role]))68 self.test_case_scenario.append(test_case_list0)69 70 self.fts_test_run(filerep_role, filerep_state)71 if fault_name == 'postmaster':72 test_case_list6 = []73 test_case_list6.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.restart_db')74 self.test_case_scenario.append(test_case_list6)75 76 def sync_postmaster_reset(self, fault_name, fault_type, fault_role, filerep_state, filerep_role):77 '''78 sync_postmaster_reset_tests with fierep faults79 ''' 80 self.check_system()81 test_case_list0 = []82 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', [fault_name, fault_type, fault_role]))83 self.test_case_scenario.append(test_case_list0)84 test_case_list1 = []85 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')86 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml')87 self.test_case_scenario.append(test_case_list1, serial=True)88 test_case_list2 = []89 test_case_list2.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_recoverseg_if_ct')90 test_case_list2.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_insync')91 self.test_case_scenario.append(test_case_list2, serial=True)92 test_case_list3 = []93 test_case_list3.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate', [filerep_role, filerep_state]))94 self.test_case_scenario.append(test_case_list3)95 if fault_name == 'checkpoint':96 test_case_list3_1 = []97 test_case_list3_1.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', [fault_name, 'reset', fault_role]))98 self.test_case_scenario.append(test_case_list3_1)99 test_case_list4 = []100 test_case_list4.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_validation')101 self.test_case_scenario.append(test_case_list4)102 103 def gpconfig_alter(self, filerep_role):104 '''105 fts transitions after gpconfig alter106 '''107 self.check_system()108 test_case_list0 = []109 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.gpconfig_alter', [filerep_role, 'true']))110 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.restart_db_with_no_rc_check')111 self.test_case_scenario.append(test_case_list0, serial=True)112 test_case_list1 = []113 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')114 self.test_case_scenario.append(test_case_list1)115 test_case_list2 = []116 test_case_list2.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml')117 self.test_case_scenario.append(test_case_list2)118 test_case_list3 = []119 test_case_list3.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate', [filerep_role, 'ct']))120 self.test_case_scenario.append(test_case_list3)121 test_case_list4 = []122 test_case_list4.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')123 self.test_case_scenario.append(test_case_list4)124 test_case_list5 = []125 test_case_list5.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.gpconfig_alter', [filerep_role, 'false']))126 test_case_list5.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.restart_db')127 self.test_case_scenario.append(test_case_list5, serial=True)128 self.run_gprecover_and_validation()129 def primary_sync_mirror_cannot_keepup_failover(self):130 self.check_system()131 test_case_list01 = []132 test_case_list01.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_gpconfig', ['gp_segment_connect_timeout','10s']))133 self.test_case_scenario.append(test_case_list01)134 test_case_list0 = []135 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_receiver', 'suspend', 'primary']))136 self.test_case_scenario.append(test_case_list0)137 test_case_list1 = []138 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_sql_in_background')139 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.sleep_for_transition')140 self.test_case_scenario.append(test_case_list1, serial=True)141 test_case_list2 = []142 test_case_list2.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.resume_faults', ['filerep_receiver', 'primary']))143 self.test_case_scenario.append(test_case_list2)144 test_case_list3 = []145 test_case_list3.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')146 test_case_list3.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml')147 self.test_case_scenario.append(test_case_list3, serial=True)148 test_case_list4 = []149 test_case_list4.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate', ['primary','ct']))150 self.test_case_scenario.append(test_case_list4)151 self.run_gprecover_and_validation()152 test_case_list5 = []153 test_case_list5.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_gpconfig', ['gp_segment_connect_timeout','600']))154 self.test_case_scenario.append(test_case_list5)155 def change_tracking_transition_failover(self):156 self.check_system()157 test_case_list0 = []158 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'fault', 'primary']))159 self.test_case_scenario.append(test_case_list0)160 test_case_list1 = []161 test_case_list1.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_transition_to_change_tracking', 'panic', 'primary']))162 self.test_case_scenario.append(test_case_list1)163 self.fts_test_run('primary','ct')164 def gpstate_resync_object_count(self):165 self.check_system()166 config = GPDBConfig()167 db_id = config.get_dbid(0,'p')168 test_case_list0 = []169 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml_before_ct')170 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_transition_to_resync', 'suspend', 'primary']))171 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_transition_to_resync_mark_recreate', 'suspend', 'primary']))172 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'fault', 'primary']))173 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')174 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')175 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml_ct')176 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg', [True]))177 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.check_fault_status', ['filerep_transition_to_resync'], {'seg_id': db_id}))178 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpprimarymirror')179 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate_shell_cmd', ['-e']))180 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.verify_gpstate_output')181 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.resume_faults', ['filerep_transition_to_resync', 'primary']))182 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.check_fault_status', ['filerep_transition_to_resync_mark_recreate'], {'seg_id': db_id}))183 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpprimarymirror')184 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate_shell_cmd', ['-e']))185 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.verify_gpstate_output')186 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.resume_faults', ['filerep_transition_to_resync_mark_recreate', 'primary']))187 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_insync')188 test_case_list0.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.restart_db')189 self.test_case_scenario.append(test_case_list0, serial=True)190 def mirror_resync_postmaster_reset_filerep_fault(self, filerep_fault):191 self.check_system()192 test_case_list0 = []193 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'fault', 'primary']))194 self.test_case_scenario.append(test_case_list0)195 test_case_list1 = []196 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')197 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')198 self.test_case_scenario.append(test_case_list1, serial=True)199 test_case_list3 = []200 test_case_list3.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_resync', 'suspend', 'primary']))201 self.test_case_scenario.append(test_case_list3)202 203 test_case_list4 = []204 test_case_list4.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')205 self.test_case_scenario.append(test_case_list4)206 test_case_list5 = []207 test_case_list5.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', [filerep_fault, 'panic', 'mirror']))208 test_case_list5.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.resume_faults', ['filerep_resync', 'primary']))209 self.test_case_scenario.append(test_case_list5, serial=True)210 211 self.fts_test_run('primary','ct')212 def primary_resync_postmaster_reset_with_faults(self, filerep_fault, fault_type, filerep_role, gpstate_role, gprecover='no'):213 214 self.check_system()215 test_case_list0 = []216 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'fault', 'primary']))217 self.test_case_scenario.append(test_case_list0)218 test_case_list1 = []219 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')220 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')221 self.test_case_scenario.append(test_case_list1, serial=True)222 test_case_list2 = []223 test_case_list2.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_resync', 'suspend', 'primary']))224 self.test_case_scenario.append(test_case_list2)225 test_case_list3 = []226 test_case_list3.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')227 self.test_case_scenario.append(test_case_list3)228 test_case_list4 = []229 test_case_list4.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate', [gpstate_role,'resync_incr']))230 self.test_case_scenario.append(test_case_list4) 231 if filerep_fault == 'filerep_consumer' and filerep_role == 'primary':232 test_case_list5_0 = []233 test_case_list5_0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', [filerep_fault, 'reset', filerep_role]))234 self.test_case_scenario.append(test_case_list5_0)235 test_case_list5 = []236 test_case_list5.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', [filerep_fault, fault_type, filerep_role]))237 self.test_case_scenario.append(test_case_list5)238 if filerep_fault == 'postmaster' and filerep_role == 'primary' :239 tinctest.logger.info('When its postmaster no need to resume filerep_resync')240 else:241 test_case_list5_2 = []242 test_case_list5_2.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.resume_faults', ['filerep_resync', 'primary']))243 self.test_case_scenario.append(test_case_list5_2)244 245 test_case_list6 = []246 test_case_list6.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')247 self.test_case_scenario.append(test_case_list6)248 if filerep_fault == 'postmaster' and filerep_role == 'primary' :249 test_case_list7_1 = []250 test_case_list7_1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.restart_db')251 test_case_list7_1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')252 self.test_case_scenario.append(test_case_list7_1, serial=True)253 test_case_list7 = []254 test_case_list7.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_fts_test_ddl_dml')255 self.test_case_scenario.append(test_case_list7)256 test_case_list8 = []257 test_case_list8.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_gpstate', [gpstate_role,'ct']))258 self.test_case_scenario.append(test_case_list8) 259 if gprecover == 'yes':260 test_case_list9_1 = []261 test_case_list9_1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')262 self.test_case_scenario.append(test_case_list9_1)263 test_case_list9 = []264 test_case_list9.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_insync')265 self.test_case_scenario.append(test_case_list9)266 test_case_list10 = []267 test_case_list10.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_validation')268 self.test_case_scenario.append(test_case_list10)269 def mirror_resync_postmaster_reset_with_faults(self):270 271 self.check_system()272 test_case_list0 = []273 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'fault', 'primary']))274 self.test_case_scenario.append(test_case_list0)275 test_case_list1 = []276 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.run_trigger_sql')277 test_case_list1.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.wait_till_change_tracking')278 self.test_case_scenario.append(test_case_list1, serial=True)279 test_case_list2 = []280 test_case_list2.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_resync', 'suspend', 'primary']))281 self.test_case_scenario.append(test_case_list2)282 test_case_list3 = []283 test_case_list3.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.incremental_recoverseg')284 self.test_case_scenario.append(test_case_list3)285 286 test_case_list4 = []287 test_case_list4.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'panic', 'mirror']))288 test_case_list4.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.resume_faults', ['filerep_resync', 'primary']))289 self.test_case_scenario.append(test_case_list4, serial=True) 290 self.fts_test_run('primary', 'ct')291 def wait_for_shutdown_before_commit(self):292 self.check_system()293 config = GPDBConfig()294 db_id = config.get_dbid(-1,'p')295 test_case_list0 = []296 test_case_list0.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['fts_wait_for_shutdown', 'infinite_loop'], {'seg_id': db_id}))297 self.test_case_scenario.append(test_case_list0)298 test_case_list1 = []299 test_case_list1.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.set_faults', ['filerep_consumer', 'fault', 'primary']))300 self.test_case_scenario.append(test_case_list1)301 test_case_list2 = []302 test_case_list2.append(('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.check_fault_status', ['fts_wait_for_shutdown'], {'seg_id': db_id}))303 self.test_case_scenario.append(test_case_list2)304 test_case_list3 = []305 test_case_list3.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.restart_db_with_no_rc_check')306 self.test_case_scenario.append(test_case_list3)307 308 test_case_list4 = []309 test_case_list4.append('mpp.gpdb.tests.storage.fts.fts_transitions.FtsTransitions.cluster_state')310 self.test_case_scenario.append(test_case_list4)311 ...
mdp-example.py
Source:mdp-example.py
1"""2this file is different from mdp-my.3reward function in mdp-my is stochastic. but in this file, i.e., mdp-test, reward function is deterministic.4the number of states: wid x wid, and another terminal states.5"""6import numpy as np7import gym8from gym import spaces9from gym.utils import seeding10import random11import time12MAPWID = 313MAPHEI = 314TIME = 015class SimpleMDP(gym.Env):16 def __init__(self, num_states, num_actions, task={}):17 super(SimpleMDP, self).__init__()18 self.time_consume = 019 self.num_states = num_states20 self.num_actions = num_actions21 self.action_space = spaces.Discrete(num_actions)22 self.observation_space = spaces.Box(low=0.0,23 high=1.0, shape=(num_states,), dtype=np.float32)24 self._task = task25 self._transitions = task.get('transitions', np.full((num_states,26 num_actions, num_states), 1.0 / num_states,27 dtype=np.float32))28 self._rewards_mean = task.get('rewards_mean', np.zeros((num_states,29 num_actions), dtype=np.float32))30 self._state = 031 self.seed()32 def seed(self, seed=None):33 self.np_random, seed = seeding.np_random(seed)34 return [seed]35 def random_env_matrix(self):36 # env = np.array([37 # [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],38 # [0, 1, 1, 1, 1, 0, 1, 1, 1, 1],39 # [0, 0, 0, 0, 0, 0, 0, 0, 1, 1],40 # [1, 1, 1, 1, 1, 1, 1, 0, 0, 0],41 # [0, 0, 0, 0, 0, 0, 0, 1, 1, 0],42 # [0, 0, 0, 0, 0, 0, 0, 0, 1, 0],43 # [0, 0, 0, 0, 0, 0, 0, 0, 1, 0],44 # [0, 1, 0, 0, 0, 0, 0, 0, 0, 0],45 # [0, 1, 0, 0, 1, 0, 0, 0, 0, 0],46 # [1, 1, 1, 0, 0, 1, 1, 1, 0, 0],47 #48 # ])49 env = np.array([50 [0, 0, 0],51 [0, 0, 0],52 [0, 0, 0],53 ])54 return env55 def sample_tasks(self, num_tasks):56 """57 generate the transition of the environment T(s,a,s')58 return list [[task_1],...,[task_n]]59 """60 # time61 time_start = time.time()62 wid = MAPWID63 hei = MAPHEI64 transitions = self.np_random.dirichlet(np.ones(self.num_states),65 size=(num_tasks, self.num_states, self.num_actions))66 rewards_mean = self.np_random.normal(1.0, 1.0,67 size=(num_tasks, self.num_states, self.num_actions))68 for i in range(num_tasks):69 """env[x][y]=-1 is the destination"""70 # x,y= random.randint(0,2),random.randint(2,2)71 x, y = 0,272 env = self.random_env_matrix()73 env[x][y] = -174 for jj in range(self.num_states):75 for kk in range(self.num_states):76 for aa in range(self.num_actions):77 transitions[i][jj][aa][kk] = 0.078 transitions[i][0][0][0] = 1.079 transitions[i][0][4][1] = 1.080 transitions[i][0][2][3] = 1.081 transitions[i][0][1][0] = 1.082 transitions[i][0][3][0] = 1.083 transitions[i][1][3][0] = 1.084 transitions[i][1][0][1] = 1.085 transitions[i][1][4][2] = 1.086 transitions[i][1][2][4] = 1.087 transitions[i][1][1][1] = 1.088 transitions[i][2][3][1] = 1.089 transitions[i][2][0][2] = 1.090 transitions[i][2][2][5] = 1.091 transitions[i][2][1][2] = 1.092 transitions[i][2][4][2] = 1.093 transitions[i][3][1][0] = 1.094 transitions[i][3][0][3] = 1.095 transitions[i][3][4][4] = 1.096 transitions[i][3][2][6] = 1.097 transitions[i][3][3][3] = 1.098 transitions[i][4][1][1] = 1.099 transitions[i][4][3][3] = 1.0100 transitions[i][4][0][4] = 1.0101 transitions[i][4][4][5] = 1.0102 transitions[i][4][2][7] = 1.0103 transitions[i][5][1][2] = 1.0104 transitions[i][5][3][4] = 1.0105 transitions[i][5][0][5] = 1.0106 transitions[i][5][2][8] = 1.0107 transitions[i][5][4][5] = 1.0108 transitions[i][6][1][3] = 1.0109 transitions[i][6][0][6] = 1.0110 transitions[i][6][4][7] = 1.0111 transitions[i][6][2][6] = 1.0112 transitions[i][6][3][6] = 1.0113 transitions[i][7][1][4] = 1.0114 transitions[i][7][3][6] = 1.0115 transitions[i][7][0][7] = 1.0116 transitions[i][7][4][8] = 1.0117 transitions[i][7][2][7] = 1.0118 transitions[i][8][2][5] = 1.0119 transitions[i][8][3][7] = 1.0120 transitions[i][8][0][8] = 1.0121 transitions[i][8][1][8] = 1.0122 transitions[i][8][4][8] = 1.0123 # 9 is terminal state124 transitions[i][9][0][9] = 1.0125 transitions[i][9][1][9] = 1.0126 transitions[i][9][2][9] = 1.0127 transitions[i][9][3][9] = 1.0128 transitions[i][9][4][9] = 1.0129 target_state = x*MAPWID+y130 for state in range (self.num_states):131 for action in range (self.num_actions):132 transitions[i][target_state][action][state] = 0.0133 transitions[i][target_state][0][9] = 1.0134 transitions[i][target_state][1][9] = 1.0135 transitions[i][target_state][2][9] = 1.0136 transitions[i][target_state][3][9] = 1.0137 transitions[i][target_state][4][9] = 1.0138 for s in range(self.num_states-1):139 for a in range(self.num_actions):140 x, y = int((s) / wid), (s) % wid141 if env[x][y] == -1 and a == 0:142 rewards_mean[i][s][a] = 10143 else:144 rewards_mean[i][s][a] = -0.5145 for a in range(self.num_actions):146 rewards_mean[i][self.num_states-1][a] = 0147 tasks = [{'transitions': transition, 'rewards_mean': reward_mean}148 for (transition, reward_mean) in zip(transitions, rewards_mean)]149 # time150 time_end = time.time()151 self.time_consume = self.time_consume + (time_end-time_start)152 print("construct MDP time consume (seconds)", self.time_consume)153 return tasks154 def reset_task(self, task):155 self._task = task156 self._transitions = task['transitions']157 self._rewards_mean = task['rewards_mean']158 def reset(self):159 # From [1]: "an episode always starts on the first state"160 self._state = 0161 observation = np.zeros(self.num_states, dtype=np.float32)162 observation[self._state] = 1.0163 return observation164 def step(self, action):165 assert self.action_space.contains(action)166 mean = self._rewards_mean[self._state, action]167 reward = mean168 self._state = self.np_random.choice(self.num_states,169 p=self._transitions[self._state, action])170 observation = np.zeros(self.num_states, dtype=np.float32)171 observation[self._state] = 1.0172 return observation, reward, False, {'task': self._task}173if __name__ == '__main__':174 task = {}175 env = SimpleMDP(10,5,task)176 a = env.sample_tasks(1)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!