X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2FMockXenAPI.py;h=cca1571fe50b65be40a8ecd10146e45cd73375e5;hb=28c5588e8e1a8d091c5d2275232c35f2968a97fa;hp=24f8bd7776194c61b36464e186f9afb28333a66a;hpb=c473936b9af693ad88907e739013f34d9c70860d;p=sliver-openvswitch.git diff --git a/tests/MockXenAPI.py b/tests/MockXenAPI.py index 24f8bd777..cca1571fe 100644 --- a/tests/MockXenAPI.py +++ b/tests/MockXenAPI.py @@ -1,4 +1,4 @@ -# Copyright (c) 2011 Nicira Networks +# Copyright (c) 2011, 2012 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +import re + def xapi_local(): return Session() @@ -48,6 +50,20 @@ class Table(object): def get_all(self): return [RecordRef(rec) for rec in self.records] + def get_all_records_where(self, condition): + k, v = re.match(r'field "([^"]*)"="([^"]*)"$', condition).groups() + d = {} + + # I'm sure that the keys used in the dictionary below are wrong + # but I can't find any documentation on get_all_records_where + # and this satisfies the current test case. + i = 0 + for rec in self.records: + if rec[k] == v: + d[i] = rec + i += 1 + return d + def get_by_uuid(self, uuid): recs = [rec for rec in self.records if rec["uuid"] == uuid] if len(recs) != 1: