Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagesmc
Path: blob/master/src/sage/dev/test/trac_interface.py
8815 views
1
r"""
2
Interface to trac Server for Doctesting
3
4
This module provides a subclass of
5
:class:`sage.dev.trac_interface.TracInterface` which can be used for
6
doctesting.
7
8
AUTHORS:
9
10
- Julian Rueth: initial version
11
12
"""
13
#*****************************************************************************
14
# Copyright (C) 2013 Julian Rueth <[email protected]>
15
#
16
# Distributed under the terms of the GNU General Public License (GPL)
17
# as published by the Free Software Foundation; either version 2 of
18
# the License, or (at your option) any later version.
19
# http://www.gnu.org/licenses/
20
#*****************************************************************************
21
import sage.dev.trac_interface
22
23
24
class DoctestTracInterface(sage.dev.trac_interface.TracInterface):
25
r"""
26
A :class:`sage.dev.trac_interface.TracInterface` which does not talk to the
27
actual live server but to a :class:`sage.dev.test.trac_server.DoctestTracServer`.
28
29
EXAMPLES::
30
31
sage: from sage.dev.test.trac_interface import DoctestTracInterface
32
sage: from sage.dev.test.config import DoctestConfig
33
sage: from sage.dev.test.user_interface import DoctestUserInterface
34
sage: from sage.dev.test.trac_server import DoctestTracServer
35
sage: config = DoctestConfig()
36
sage: UI = DoctestUserInterface(config['UI'])
37
sage: DoctestTracInterface(config['trac'], UI, DoctestTracServer())
38
<sage.dev.test.trac_interface.DoctestTracInterface object at 0x...>
39
40
"""
41
def __init__(self, config, UI, server):
42
r"""
43
Initialization.
44
45
TESTS::
46
47
sage: from sage.dev.test.trac_interface import DoctestTracInterface
48
sage: from sage.dev.test.config import DoctestConfig
49
sage: from sage.dev.test.user_interface import DoctestUserInterface
50
sage: from sage.dev.test.trac_server import DoctestTracServer
51
sage: config = DoctestConfig()
52
sage: UI = DoctestUserInterface(config['UI'])
53
sage: type(DoctestTracInterface(config['trac'], UI, DoctestTracServer()))
54
<class 'sage.dev.test.trac_interface.DoctestTracInterface'>
55
"""
56
sage.dev.trac_interface.TracInterface.__init__(self, config, UI)
57
self._server = server
58
self._connected = True
59
60
@property
61
def _anonymous_server_proxy(self):
62
r"""
63
Return an non-authenticated proxy to the
64
:class:`trac_server.DoctestTracServer` of this object.
65
66
EXAMPLES::
67
68
sage: from sage.dev.test.trac_interface import DoctestTracInterface
69
sage: from sage.dev.test.config import DoctestConfig
70
sage: from sage.dev.test.user_interface import DoctestUserInterface
71
sage: from sage.dev.test.trac_server import DoctestTracServer
72
sage: config = DoctestConfig()
73
sage: UI = DoctestUserInterface(config['UI'])
74
sage: trac = DoctestTracInterface(config['trac'], UI, DoctestTracServer())
75
sage: trac._anonymous_server_proxy
76
<sage.dev.test.server_proxy.DoctestServerProxy object at 0x...>
77
78
"""
79
if not self._connected:
80
from sage.dev.trac_error import TracConnectionError
81
raise TracConnectionError
82
83
from server_proxy import DoctestServerProxy
84
return DoctestServerProxy(self._server)
85
86
@property
87
def _authenticated_server_proxy(self):
88
r"""
89
Return an non-authenticated proxy to the
90
:class:`trac_server.DoctestTracServer` of this object.
91
92
EXAMPLES::
93
94
sage: from sage.dev.test.trac_interface import DoctestTracInterface
95
sage: from sage.dev.test.config import DoctestConfig
96
sage: from sage.dev.test.user_interface import DoctestUserInterface
97
sage: from sage.dev.test.trac_server import DoctestTracServer
98
sage: config = DoctestConfig()
99
sage: config['trac']['password'] = 'secret'
100
sage: UI = DoctestUserInterface(config['UI'])
101
sage: trac = DoctestTracInterface(config['trac'], UI, DoctestTracServer())
102
sage: trac._authenticated_server_proxy
103
<sage.dev.test.server_proxy.AuthenticatedDoctestServerProxy object at 0x...>
104
105
"""
106
if not self._connected:
107
from sage.dev.trac_error import TracConnectionError
108
raise TracConnectionError
109
110
from server_proxy import AuthenticatedDoctestServerProxy
111
return AuthenticatedDoctestServerProxy(self._server, self._username, self._password)
112
113