File: mock-bugzilla-server.py

package info (click to toggle)
cockpit 239-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 67,268 kB
  • sloc: javascript: 245,474; ansic: 72,273; python: 23,634; xml: 6,155; sh: 2,919; makefile: 923; sed: 5
file content (44 lines) | stat: -rwxr-xr-x 1,193 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/python3

from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler


class RequestHandler(SimpleXMLRPCRequestHandler):
    rpc_paths = ('/xmlrpc.cgi')


with SimpleXMLRPCServer(('', 8080), requestHandler=RequestHandler) as server:
    class Bug:
        @server.register_function(name='Bug.add_attachment')
        def add_attachment(self):
            return {'ids': [42]}

        @server.register_function(name='Bug.create')
        def create(self):
            return {'id': 42}

        @server.register_function(name='Bug.search')
        def search(self):
            return {'bugs': []}

        @server.register_function(name='Bug.update')
        def update(self):
            return {'bugs': []}

    class Bugzilla:
        @server.register_function(name='Bugzilla.version')
        def version(self):
            return {'version': '42'}

    class User:
        @server.register_function(name='User.login')
        def login(self):
            return {'id': 0, 'token': '70k3n'}

        @server.register_function(name='User.logout')
        def logout(self):
            return {}

    server.register_instance(Bugzilla())

    server.serve_forever()