|
7 | 7 | import logging |
8 | 8 |
|
9 | 9 | from tmuxp import Pane, Session, Window |
10 | | -from .helpers import TEST_SESSION_PREFIX, TmuxTestCase, namer |
| 10 | +from .helpers import TEST_SESSION_PREFIX, namer |
11 | 11 |
|
12 | 12 | logger = logging.getLogger(__name__) |
13 | 13 |
|
14 | 14 |
|
15 | | -class TmuxObjectTest(TmuxTestCase): |
| 15 | +"""Test the :class:`TmuxRelationalObject` base class object.""" |
16 | 16 |
|
17 | | - """Test the :class:`TmuxRelationalObject` base class object.""" |
18 | 17 |
|
19 | | - def test_findWhere(self): |
20 | | - """Test that findWhere() retrieves single matching object.""" |
21 | | - self.maxDiff = None |
22 | | - # server.findWhere |
23 | | - for session in self.t.sessions: |
24 | | - session_id = session.get('session_id') |
| 18 | +def test_findWhere(server): |
| 19 | + """Test that findWhere() retrieves single matching object.""" |
| 20 | + # server.findWhere |
| 21 | + for session in server.sessions: |
| 22 | + session_id = session.get('session_id') |
25 | 23 |
|
26 | | - assert self.t.findWhere({'session_id': session_id}) == session |
27 | | - assert isinstance(self.t.findWhere({ |
28 | | - 'session_id': session_id |
29 | | - }), Session) |
| 24 | + assert server.findWhere({'session_id': session_id}) == session |
| 25 | + assert isinstance(server.findWhere({ |
| 26 | + 'session_id': session_id |
| 27 | + }), Session) |
30 | 28 |
|
31 | | - # session.findWhere |
32 | | - for window in session.windows: |
33 | | - window_id = window.get('window_id') |
| 29 | + # session.findWhere |
| 30 | + for window in session.windows: |
| 31 | + window_id = window.get('window_id') |
34 | 32 |
|
35 | | - assert session.findWhere({'window_id': window_id}) == window |
| 33 | + assert session.findWhere({'window_id': window_id}) == window |
| 34 | + assert isinstance( |
| 35 | + session.findWhere({'window_id': window_id}), Window |
| 36 | + ) |
| 37 | + |
| 38 | + # window.findWhere |
| 39 | + for pane in window.panes: |
| 40 | + pane_id = pane.get('pane_id') |
| 41 | + |
| 42 | + assert window.findWhere({'pane_id': pane_id}) == pane |
36 | 43 | assert isinstance( |
37 | | - session.findWhere({'window_id': window_id}), Window |
38 | | - ) |
| 44 | + window.findWhere({'pane_id': pane_id}), Pane) |
| 45 | + |
| 46 | + |
| 47 | +def test_findWhere_None(server): |
| 48 | + """.findWhere returns None if no results found.""" |
39 | 49 |
|
40 | | - # window.findWhere |
41 | | - for pane in window.panes: |
42 | | - pane_id = pane.get('pane_id') |
| 50 | + while True: |
| 51 | + nonexistant_session = TEST_SESSION_PREFIX + next(namer) |
43 | 52 |
|
44 | | - assert window.findWhere({'pane_id': pane_id}) == pane |
45 | | - assert isinstance( |
46 | | - window.findWhere({'pane_id': pane_id}), Pane) |
| 53 | + if not server.has_session(nonexistant_session): |
| 54 | + break |
47 | 55 |
|
48 | | - def test_findWhere_None(self): |
49 | | - """.findWhere returns None if no results found.""" |
| 56 | + assert server.findWhere({ |
| 57 | + 'session_name': nonexistant_session |
| 58 | + }) is None |
50 | 59 |
|
51 | | - while True: |
52 | | - nonexistant_session = TEST_SESSION_PREFIX + next(namer) |
53 | 60 |
|
54 | | - if not self.t.has_session(nonexistant_session): |
55 | | - break |
| 61 | +def test_findWhere_multiple_attrs(server): |
| 62 | + """.findWhere returns objects with multiple attributes.""" |
56 | 63 |
|
57 | | - assert self.t.findWhere({ |
58 | | - 'session_name': nonexistant_session |
59 | | - }) is None |
| 64 | + for session in server.sessions: |
| 65 | + session_id = session.get('session_id') |
| 66 | + session_name = session.get('session_name') |
| 67 | + find_where = server.findWhere({ |
| 68 | + 'session_id': session_id, |
| 69 | + 'session_name': session_name |
| 70 | + }) |
60 | 71 |
|
61 | | - def test_findWhere_multiple_attrs(self): |
62 | | - """.findWhere returns objects with multiple attributes.""" |
| 72 | + assert find_where == session |
| 73 | + assert isinstance(find_where, Session) |
63 | 74 |
|
64 | | - for session in self.t.sessions: |
65 | | - session_id = session.get('session_id') |
66 | | - session_name = session.get('session_name') |
67 | | - find_where = self.t.findWhere({ |
68 | | - 'session_id': session_id, |
69 | | - 'session_name': session_name |
| 75 | + # session.findWhere |
| 76 | + for window in session.windows: |
| 77 | + window_id = window.get('window_id') |
| 78 | + window_index = window.get('window_index') |
| 79 | + |
| 80 | + find_where = session.findWhere({ |
| 81 | + 'window_id': window_id, |
| 82 | + 'window_index': window_index |
70 | 83 | }) |
71 | 84 |
|
72 | | - assert find_where == session |
73 | | - assert isinstance(find_where, Session) |
| 85 | + assert find_where == window |
| 86 | + assert isinstance(find_where, Window) |
74 | 87 |
|
75 | | - # session.findWhere |
76 | | - for window in session.windows: |
77 | | - window_id = window.get('window_id') |
78 | | - window_index = window.get('window_index') |
| 88 | + # window.findWhere |
| 89 | + for pane in window.panes: |
| 90 | + pane_id = pane.get('pane_id') |
| 91 | + pane_tty = pane.get('pane_tty') |
79 | 92 |
|
80 | | - find_where = session.findWhere({ |
81 | | - 'window_id': window_id, |
82 | | - 'window_index': window_index |
| 93 | + find_where = window.findWhere({ |
| 94 | + 'pane_id': pane_id, |
| 95 | + 'pane_tty': pane_tty |
83 | 96 | }) |
84 | 97 |
|
85 | | - assert find_where == window |
86 | | - assert isinstance(find_where, Window) |
| 98 | + assert find_where == pane |
| 99 | + assert isinstance(find_where, Pane) |
| 100 | + |
87 | 101 |
|
88 | | - # window.findWhere |
89 | | - for pane in window.panes: |
90 | | - pane_id = pane.get('pane_id') |
91 | | - pane_tty = pane.get('pane_tty') |
| 102 | +def test_where(server, session): |
| 103 | + """Test self.where() returns matching objects.""" |
92 | 104 |
|
93 | | - find_where = window.findWhere({ |
94 | | - 'pane_id': pane_id, |
95 | | - 'pane_tty': pane_tty |
96 | | - }) |
| 105 | + window = session.attached_window() |
| 106 | + window.split_window() # create second pane |
97 | 107 |
|
98 | | - assert find_where == pane |
99 | | - assert isinstance(find_where, Pane) |
| 108 | + for session in server.sessions: |
| 109 | + session_id = session.get('session_id') |
| 110 | + session_name = session.get('session_name') |
| 111 | + where = server.where({ |
| 112 | + 'session_id': session_id, |
| 113 | + 'session_name': session_name |
| 114 | + }) |
100 | 115 |
|
101 | | - def test_where(self): |
102 | | - """Test self.where() returns matching objects.""" |
| 116 | + assert len(where) == 1 |
| 117 | + assert isinstance(where, list) |
| 118 | + assert where[0] == session |
| 119 | + assert isinstance(where[0], Session) |
103 | 120 |
|
104 | | - window = self.session.attached_window() |
105 | | - window.split_window() # create second pane |
| 121 | + # session.where |
| 122 | + for window in session.windows: |
| 123 | + window_id = window.get('window_id') |
| 124 | + window_index = window.get('window_index') |
106 | 125 |
|
107 | | - for session in self.t.sessions: |
108 | | - session_id = session.get('session_id') |
109 | | - session_name = session.get('session_name') |
110 | | - where = self.t.where({ |
111 | | - 'session_id': session_id, |
112 | | - 'session_name': session_name |
| 126 | + where = session.where({ |
| 127 | + 'window_id': window_id, |
| 128 | + 'window_index': window_index |
113 | 129 | }) |
114 | 130 |
|
115 | 131 | assert len(where) == 1 |
116 | 132 | assert isinstance(where, list) |
117 | | - assert where[0] == session |
118 | | - assert isinstance(where[0], Session) |
| 133 | + assert where[0] == window |
| 134 | + assert isinstance(where[0], Window) |
119 | 135 |
|
120 | | - # session.where |
121 | | - for window in session.windows: |
122 | | - window_id = window.get('window_id') |
123 | | - window_index = window.get('window_index') |
| 136 | + # window.where |
| 137 | + for pane in window.panes: |
| 138 | + pane_id = pane.get('pane_id') |
| 139 | + pane_tty = pane.get('pane_tty') |
124 | 140 |
|
125 | | - where = session.where({ |
126 | | - 'window_id': window_id, |
127 | | - 'window_index': window_index |
| 141 | + where = window.where({ |
| 142 | + 'pane_id': pane_id, |
| 143 | + 'pane_tty': pane_tty |
128 | 144 | }) |
129 | 145 |
|
130 | 146 | assert len(where) == 1 |
131 | 147 | assert isinstance(where, list) |
132 | | - assert where[0] == window |
133 | | - assert isinstance(where[0], Window) |
134 | | - |
135 | | - # window.where |
136 | | - for pane in window.panes: |
137 | | - pane_id = pane.get('pane_id') |
138 | | - pane_tty = pane.get('pane_tty') |
139 | | - |
140 | | - where = window.where({ |
141 | | - 'pane_id': pane_id, |
142 | | - 'pane_tty': pane_tty |
143 | | - }) |
| 148 | + assert where[0] == pane |
| 149 | + assert isinstance(where[0], Pane) |
144 | 150 |
|
145 | | - assert len(where) == 1 |
146 | | - assert isinstance(where, list) |
147 | | - assert where[0] == pane |
148 | | - assert isinstance(where[0], Pane) |
149 | 151 |
|
150 | | - def test_getById(self): |
151 | | - """Test self.getById() retrieves child object.""" |
| 152 | +def test_getById(server, session): |
| 153 | + """Test self.getById() retrieves child object.""" |
152 | 154 |
|
153 | | - window = self.session.attached_window() |
| 155 | + window = session.attached_window() |
154 | 156 |
|
155 | | - window.split_window() # create second pane |
| 157 | + window.split_window() # create second pane |
156 | 158 |
|
157 | | - for session in self.t.sessions: |
158 | | - session_id = session.get('session_id') |
159 | | - get_by_id = self.t.getById(session_id) |
| 159 | + for session in server.sessions: |
| 160 | + session_id = session.get('session_id') |
| 161 | + get_by_id = server.getById(session_id) |
160 | 162 |
|
161 | | - assert get_by_id == session |
162 | | - assert isinstance(get_by_id, Session) |
163 | | - assert self.t.getById('$' + next(namer)) is None |
| 163 | + assert get_by_id == session |
| 164 | + assert isinstance(get_by_id, Session) |
| 165 | + assert server.getById('$' + next(namer)) is None |
164 | 166 |
|
165 | | - # session.getById |
166 | | - for window in session.windows: |
167 | | - window_id = window.get('window_id') |
| 167 | + # session.getById |
| 168 | + for window in session.windows: |
| 169 | + window_id = window.get('window_id') |
168 | 170 |
|
169 | | - get_by_id = session.getById(window_id) |
| 171 | + get_by_id = session.getById(window_id) |
170 | 172 |
|
171 | | - assert get_by_id == window |
172 | | - assert isinstance(get_by_id, Window) |
| 173 | + assert get_by_id == window |
| 174 | + assert isinstance(get_by_id, Window) |
173 | 175 |
|
174 | | - assert session.getById('@' + next(namer)) is None |
| 176 | + assert session.getById('@' + next(namer)) is None |
175 | 177 |
|
176 | | - # window.getById |
177 | | - for pane in window.panes: |
178 | | - pane_id = pane.get('pane_id') |
| 178 | + # window.getById |
| 179 | + for pane in window.panes: |
| 180 | + pane_id = pane.get('pane_id') |
179 | 181 |
|
180 | | - get_by_id = window.getById(pane_id) |
| 182 | + get_by_id = window.getById(pane_id) |
181 | 183 |
|
182 | | - assert get_by_id == pane |
183 | | - assert isinstance(get_by_id, Pane) |
184 | | - assert window.getById('%' + next(namer)) is None |
| 184 | + assert get_by_id == pane |
| 185 | + assert isinstance(get_by_id, Pane) |
| 186 | + assert window.getById('%' + next(namer)) is None |
0 commit comments