1## [0.25.0] - 2021-12-25 2- bluez template: Implement adapter discovery, connect, disconnect, and removal 3 (thanks Bastien Nocera) 4- Fix changing array properties (thanks Jonas Ådahl) 5- Fix CLI upower tests (thanks Marco Trevisan) 6- Add testing and Fedora updating through packit 7 8## [0.24.1] - 2021-10-27 9- Do not register standard D-Bus service directories (Thanks Benjamin Berg) 10- templates: Add IIO Sensors Proxy support (Thanks Marco Trevisan) 11- Fix importlib module import (Thanks Marco Trevisan) 12- Clean up code for most recent pylint version 13 14## [0.24.0] - 2021-08-28 15- Add Add power-profiles-daemon template (Thanks Bastien Nocera) 16- logind: Implement Inhibit and ListInhibitors (Thanks to Benjamin Berg) 17- Fix new complaints from pylint 2.9 18 19## [0.23.1] - 2021-06-15 20- Fix tests for Python 3.10 21 22## [0.23.0] - 2021-03-24 23- DBusMockObject: Add UpdateProperties() method (Thanks to Jonas Ådahl) 24- DBusTestCase: Add bus override argument to spawn_server_template, to use 25 templates on either system or session bus; add corresponding --session CLI 26 option 27- bluez template: Implement Pair() method on the Device interface and the 28 AgentManager1 interface (Thanks to Bastien Nocera) 29- polkit template: Implement RegisterAuthenticationAgent() (Thanks to Jonas Ådahl) 30- Add accountsservice template (Thanks to Marco Trevisan) 31 32## [0.22.0] - 2021-01-02 33- NetworkManager template: Fix connecting to wifi 34- NetworkManager template: Add Reload() method 35- tests: Replace nose test runner with standard unittest 36- setup.py: Drop deprecated `test_suite`, run tests through 37 `python3 -m unittest` directly 38 39## [0.21.0] - 2021-01-01 40- Add type annotations to the whole API 41- Drop obsolete ConsoleKit and bluez4 templates/tests 42- upower template: Drop support for 0.9 API 43 44## [0.20.0] - 2020-12-19 45- NetworkManager template: Handle NetworkingEnable 46- NetworkManager template: AddConnectionUnsaved 47- Drop support for Python 2 48 49## [0.19] - 2020-01-09 50- NetworkManager template: Add "StateReason" property and active connection ID 51- Add low-memory-monitor template 52 53## [0.18.3] - 2019-09-08 54- Fix timeouts for loaded machines and parallel tests 55- Fix tests for Python 3.8 56 57## [0.18.2] - 2019-02-23 58- test: Adjust for changed version output format in systemd 241 59 60## [0.18.1] - 2018-11-11 61- test: Fix failures with systemd 239 in chroots 62 63## [0.18] - 2018-07-01 64- logind template: Add support for suspend-then-hibernate 65- NetworkManager template: Add GetConnectionByUuid method 66- bluez template: Add PairDevice() 'class_' parameter 67- Fix logging of unicode strings in Python 2 68- Adjust logind and timedated tests to systemd 239 (Debian #902602) 69 70## [0.17.2] - 2018-03-01 71- NetworkManager template: Add GetDeviceByIpIface(). 72- Move release tarballs from Launchpad to 73 <https://github.com/martinpitt/python-dbusmock/releases>. 74 <https://pypi.python.org/pypi/python-dbusmock> remains as usual. 75 76## [0.17.1] - 2018-02-22 77- Fix NetworkManager tests due to name changes from 802-11-wireless to wifi. 78 79## [0.17] - 2017-11-07 80- Call dbus-daemon directly instead of dbus-launch. (Debian #836053) 81- Fix DBusTestCase.stop_dbus() to actually enforce a timeout. Thanks to Renat 82 Galimov! 83- Fix test_timedated for changed timedatectl output format in systemd 235. 84 85## [0.16.9] - 2017-06-19 86- NetworkManager template: Fix type of 'State' property in AddActiveConnection() 87- Fix BlueZ tests to work with Python 2 again. 88 89## [0.16.8] - 2017-06-12 90- bluez5 template tests: Fix failure of test_no_adapters with BlueZ 5.45. 91 (LP: #1696480) 92- tests: Move from pep8 to pycodestyle for static code tests. 93- NetworkManager: Add ObjectManager, to work with NM ≥ 1.6. 94 95## [0.16.7] - 2016-09-12 96- bluez5 template tests: Fix failure on "Waiting to connect to bluetoothd" 97 messages. 98 99## [0.16.6] - 2016-06-19 100- upower template tests: Fix version comparison. 101 102## [0.16.5] - 2016-06-19 103- Ofono template: generate unique ICCIDs (CardIdentifier). 104 105## [0.16.4] - 2016-06-07 106- Ofono template: Add missing properties to SimManager interface. 107 108## [0.16.3] - 2015-12-14 109- NetworkManager template test: Make the test run standalone. Thanks Pete 110 Woods. 111 112## [0.16.2] - 2015-12-09 113- NetworkManager template: Fix connection settings Updated signal emitted by 114 wrong object. 115- NetworkManager template: Handle empty device at connection activation. 116- NetworkManager template: Implement secrets management in settings. 117 118## [0.16.1] - 2015-10-22 119- NetworkManager template: Fix indexing bug in SettingsAddConnection. Thanks 120 Pete Woods. 121 122## [0.16] - 2015-10-08 123- NetworkManager template: Generate a new unused name in connection activation 124 instead of just using the access point name. Thanks Pete Woods for the 125 original patch! 126- Allow the passing of template parameters via the command-line as JSON 127 strings. Thanks Pete Woods. 128 129## [0.15.3] - 2015-09-16 130- NetworkManager template: Add missing properties to ethernet device and 131 active connection. Thanks Pete Woods. 132- Quiesce irrelevant PEP-8 errors with pep8 1.6. 133 134## [0.15.2] - 2015-06-11 135- test_ofono: Test fields which don't get obfuscated with Ubuntu's latest 136 ofono (See LP #1459983). Thanks Iain Lane. 137- timedated template: Add NTPSynchronized property and set it in SetNTP(), to 138 also work with systemd 220. 139 140## [0.15.1] - 2015-05-12 141- SECURITY FIX: When loading a template from an arbitrary file through the 142 AddTemplate() D-Bus method call or DBusTestCase.spawn_server_template() 143 Python method, don't create or use Python's *.pyc cached files. By tricking 144 a user into loading a template from a world-writable directory like /tmp, an 145 attacker could run arbitrary code with the user's privileges by putting a 146 crafted .pyc file into that directory. Note that this is highly unlikely to 147 actually appear in practice as custom dbusmock templates are usually shipped 148 in project directories, not directly in world-writable directories. 149 Thanks to Simon McVittie for discovering this! 150 (LP: #1453815, CVE-2015-1326) 151 152## [0.15] - 2015-05-08 153- NetworkManager template: Restore nm-specific PropertiesChanged signal 154- NetworkManager template: Add DeactivateConnection(), 155 Settings.AddConnection(), Settings.Connection.Update(), and 156 Settings.Connection.Delete() methods. Also allow Connections with 157 autoconnect, added using AddConnection, to be automatically connected by the 158 first found device, roughly like NetworkManager itself does. Thanks Jonas 159 Grønås Drange! 160- NetworkManager template: Fix broken exception in AddWiFiConnection. 161- NetworkManager template: Set RsnFlags to have the same value as WpaFlags. 162 Thanks Pete Woods! 163 164## [0.14] - 2015-03-30 165- Move project hosting to github, update README.rst. 166- urfkill template: Return boolean from block() method, as the original 167 urfkill does. Thanks Jonas Grønås Drange! 168- Correctly instantiate DBusExceptions so that they get a proper name and 169 message (issue #3) 170- ofono template: Fix SubscriberIdentity property type 171- Emit PropertiesChanged signal when Set()ing properties. 172- urfkill template: Return boolean from Block() and FlightMode() methods 173- ofono template: Add ConnectionManager interface. 174- NetworkManager template: Much more complete support for mocking access 175 points and connections. 176 177## [0.13] - 2015-02-27 178- Add urfkill template. Thanks Jussi Pakkanen! 179 180## [0.12] - 2015-01-17 181- upower template: Add SetDeviceProperties() convenience method for changing 182 upower device properties. Thanks Charles Kerr! 183 184## [0.11.4] - 2014-09-22 185- upower template: Go back to using type 's' for Device* signal arguments for 186 upower 0.9. The older library does not get along with 'o'. (Regression in 187 0.11.2) 188 189## [0.11.3] - 2014-09-19 190- Fix test suite crash if loginctl is not installed. 191 192## [0.11.2] - 2014-09-19 193- upower template: Fix type of Device* signal arguments to be 'o', not 's'. 194 Thanks Iain Lane. 195- ofono template: Add org.ofono.SimManager interface. Thanks Jonas Grønås 196 Drange. 197- bluez5 template: Fix the type of the 'Transferred' property. Thanks Philip 198 Withnall. 199- networkmanager template: Fix the "FAILED" state value to be 120, not 12. 200 Thanks Jonas Grønås Drange. 201- bluez5 tests: Accept devices in state "not available" (or other states) as 202 well. 203- timedated and logind tests: Adjust to also accept output format of 204 systemd 215. 205 206## [0.11.1] - 2014-08-08 207- Rename bluez test classes to TestBlueZ4 and TestBlueZ5, to tell them apart 208 in the output. 209- logind template: Fix type of IdleSinceHint property, and add 210 IdleSinceHintMonotonic and IdleActionUSec properties. (LP: #1348437) 211- bluez4 template: Fix settings properties in StartDiscovery/StopDiscovery. 212 Thanks to Mathieu Trudel-Lapierre. 213- NetworkManager template: Add "Devices" and "AccessPoints" properties of 214 NetworkManager 0.9.10. (LP: #1328579) 215- NetworkManager template: Fix the types of the AccessPoint properties, and 216 add some more properties. 217- Adjust NetworkManager template tests for changed strings in NM 0.9.10. 218 219## [0.11] - 2014-07-24 220- ofono: Fix GetOperators() to only apply to its own modem, not all modems. 221 Thanks to Jonas Grønås Drange. 222- Add template for BlueZ 4. Thanks to Mathieu Trudel-Lapierre! 223 224## [0.10.3] - 2014-07-16 225- Fix upower tests to work for upower 0.99 in environments without a system 226 D-Bus. 227 228## [0.10.2] - 2014-07-16 229- ofono: Make Scan() do the same as GetOperators(). Thanks Iain Lane. 230- README.rst: Clarify that the "True" argument to get_dbus() means the system 231 bus. 232- Fix code to be compliant with pep8 1.5. 233- Fix TestCLI.test_template_system test with upower 0.99. (LP: #1330037) 234- ofono template: Support adding a second modem with AddModem(). 235 (LP: #1340590) 236 237## [0.10.1] - 2014-01-30 238- Move code from bzr to git, adjust README.rst, do-release, and other files 239 accordingly. 240- timedated template: Emit PropertiesChanged when setting properties. Thanks 241 Iain Lane. 242 243## [0.10] - 2013-12-18 244- Add dynamic properties to introspection XML, to make mocked properties work 245 with Qt's property support, d-feet, and other tools. Thanks Iain Lane! 246- Fix frequent KeyError() when calling static methods from a template. 247 Regression from 0.9. 248- Support having the same method name on different D-Bus interfaces. 249- Add ofono template with support for the Manager, VoiceCallManager, and 250 NetworkRegistration/NetworkOperator interfaces. 251- Add template for systemd's timedated. Thanks Iain Lane! 252 253## [0.9.2] - 2013-12-13 254- upower template: Emit DeviceAdded when adding new a new AC adapter or 255 battery. Thanks Iain Lane! 256- Fix ResourceWarnings in test suite. 257 258## [0.9.1] - 2013-12-10 259- Fix UnicodeDecodeError in NEWS parsing when trying to build with a C locale. 260 Thanks Dmitry Shachnev. 261 262## [0.9] - 2013-11-29 263- Make static template methods appear in introspection. Thanks Philip 264 Whitnall! (LP: #1250096) 265- Add support for the D-Bus ObjectManager interface. This can now be enabled 266 in templates (IS_OBJECT_MANAGER = True) or the CLI (--is-object-manager/-m). 267 Thanks Philip Whitnall! 268- Add Reset() mock interface method to reset that object’s state (including 269 removing all its sub-objects) as if the object or template had been 270 destroyed and re-created. This is intended for use at the end of test cases 271 to reset state before the next test case is run, as an alternative to 272 killing python-dbusmock and re-starting it. Thanks Philip Whitnall! 273- logind template: Fix return value of CanSuspend() and related methods, 274 calling them previously caused a crash. 275- Don't close the log file multiple times if it is shared between objects. 276 Thanks Philip Whitnall! 277- Log calls to Get(), GetAll(), and Set(). 278- Add templates for BlueZ 5 and BlueZ-OBEX. These templates are moderately 279 well featured, though currently targeted exclusively at testing OBEX vCard 280 transfers from phones to computers. Thanks Philip Whitnall! 281 282## [0.8.1] - 2013-11-11 283- Fix test failure if the "upower" tool is not installed. 284- Fix bad upower test which assumed a locale with a comma decimal separator. 285 286## [0.8] - 2013-11-08 287- upower template: Change default daemon version to "0.9", and fix tests to 288 work with both upower 0.9 and 1.0 client tool. 289- upower template: Provide 1.0 API if DaemonVersion property/template 290 parameter gets set to >= "0.99". (LP: #1245955) 291- upower template: Add SetupDisplayDevice() method on the mock interface to 292 conveniently configure all defined properties of the DisplayDevice. Only 293 available when using the 1.0 API. (LP: #1245955) 294 295## [0.7.2] - 2013-08-30 296- Add optional "timeout" argument to DBusTestCase.wait_for_bus_object(). 297 (LP: #1218318) 298- DBusTestCase.start_system_bus(): Make the fake bus look more like a real 299 system bus by specifying a configuration file with type "system". 300 301## [0.7.1] - 2013-08-02 302- Handle the "Disconnected" signal only if it comes from the D-Bus object, to 303 avoid accidentally reacting to other signals (like from BlueZ). Thanks 304 Lucas De Marchi. 305 306## [0.7] - 2013-07-30 307- Accept *.py files for the--template command line option, similar to 308 AddTemplate(). Thanks Emanuele Aina. 309- Pass log file to objects created with AddObject(). Thanks Emanuele Aina. 310- NetworkManager template: Add new method AddWiFiConnection(), to simulate a 311 connection associated to a previously added device (with AddWiFiDevice()). 312 Thanks Pete Woods. 313 314## [0.6.3] - 2013-06-13 315- Drop "can-suspend" and "can-hibernate" checks from upower template test. 316 upower 1.0 deprecates this functionality, and defaults to not building it. 317 318## [0.6.2] - 2013-06-13 319- Fix test_api.TestSubclass test to work without an existing session D-Bus. 320 321## [0.6.1] - 2013-06-13 322- Add dbusmock.__version__ attribute, as per PEP-0396. 323- Fix not being able to inherit from DBusMockObject. Thanks Lucas De Marchi! 324- Allow subclassed DBusMockObject constructors to specify props arguments as 325 None. 326- Fix failing notification-daemon tests for too old libnotify. (LP: #1190208) 327- notification_daemon template: Generate new IDs for Notify() calls with an 328 input ID of 0. (LP: #1190209 part 1) 329- notification_daemon template: Send NotificationClosed signal in 330 CloseNotification() method for valid IDs. (LP: #1190209 part 2) 331 332## [0.6] - 2013-03-20 333- Emit MethodCalled() signal on the DBusMock interface, as an alternative way 334 of verifying method calls. Thanks Lars Uebernickel. 335- DBusMockObject.AddTemplate() and DBusTestCase.spawn_server_template() can 336 now load local templates by specifying a path to a *.py file as template 337 name. Thanks Lucas De Marchi. 338- Quit mock process if the D-Bus it connected to goes down. (LP: #1156561) 339- Support Get() and GetAll() with empty interface names, default to main 340 interface in this case. 341- Add template for systemd's logind. 342 343## [0.5] - 2013-02-03 344- upower template: Change LidIsClosed property default value to False. 345- Add polkitd template. (LP: #1112551) 346 347## [0.4.0] - 2013-01-21 348- Add GetCalls(), GetMethodCalls() and ClearCalls() methods on the mock D-Bus 349 interface to query the call log, for cases where parsing stdout is 350 inconvenient. Thanks to Robert Bruce Park for the patch! (LP: #1099483) 351- Document how to keep internal state in AddMethod(). 352- Add template for gnome-screensaver. Thanks to Bastien Nocera! 353- Fix logging of signal arguments to have the same format as method call 354 arguments. 355 356## [0.3.1] - 2013-01-07 357- upower template: Set Energy and EnergyFull properties. 358 359## [0.3] - 2012-12-19 360- In the logging of mock method calls, log the arguments as well. 361- Fix race condition in waiting for mock to get online on the bus, by avoiding 362 triggering D-Bus service activation with system-installed services. 363- Add "notification_daemon" mock template. 364 365## [0.2.2] - 2012-11-27 366- tests: Suppress "nmcli and NetworkManager versions don't match" warning. 367- networkmanager template: Add DeviceState enum for easier specification of 368 states. Thanks Alberto Ruiz. 369- Fix deprecation warnings with PyGObject 3.7.x. 370 371## [0.2.1] - 2012-11-15 372- Fix tests to skip instead of fail if NetworkManager or upower are not 373 installed. 374 375## [0.2.0] - 2012-11-15 376- Turn dbusmock from a module into a package. This is transparent for API 377 users, but necessary for adding future subpackages and also makes the code 378 more maintainable. 379- Run pyflakes and pep8 during test suite, if available. 380- Add support for templates: You can now call AddTemplate() on the 381 org.freedesktop.DBus.Mock interface to load a template into the mock, or in 382 Python, start a server process with loading a template with 383 DBusTestCase.spawn_server_template(). Templates set up the common structure 384 of these services (their main objects, properties, and methods) so that you 385 do not need to carry around this common code, and only need to set up the 386 particular properties and specific D-Bus objects that you need. These 387 templates can be parameterized for common customizations, and they can 388 provide additional convenience methods on the org.freedesktop.DBus.Mock 389 interface to provide more abstract functionality like "add a battery". 390- Add a first simple "upower" template with convenience methods to add AC and 391 battery objects, and change tests/test_upower.py to use it. 392- Add a first "networkmanager" template with convenience methods to add 393 Ethernet/WiFi devices and access points. Thanks Iftikhar Ahmad! 394- Add symbol dbusmock.MOCK_IFACE for 'org.freedesktop.DBus.Mock'. 395- Add test cases for command line invocation (python3-m dbusmock ...). 396 397## [0.1.3] - 2012-11-03 398- Ship NEWS in release tarballs. 399 400## [0.1.2] - 2012-10-10 401- dbusmock.py, EmitSignal(): Convert arguments to the right data types 402 according to the signature. 403- dbusmock.py, method calls: Convert arguments to the right data types 404 according to the signature. 405- tests/test_api.py: Check proper handling of signature vs. argument list 406 length and/or type mismatch. (LP: #1064836) 407- tests/test_upower.py: Add test for handling "DeviceChanged" signal. 408- setup.py: Get version from NEWS file. 409 410## [0.1.1] - 2012-10-04 411- setup.py: Use README.rst as long description. 412- setup.py: Add download URL. 413- tests/test_consolekit.py: Skip test if ck-list-sessions is not installed. 414- setup.py: Import "multiprocessing" to work around "'NoneType' object 415 is not callable" error when running "setup.py test" with python 2.7. 416 417## [0.1] - 2012-10-04 418- tests/test_api.py: Add tests for adding existing objects. 419- dbusmock.py: Also put first (main) object into the global objects map. 420- dbusmock.py: Document global objects map in AddMethod(). 421- tests/test_upower.py: Silence "No ... property" warnings; the test does not 422 create them all. 423- dbusmock.py: Fix stopping of local D-Bus daemons for test subclasses. 424- dbusmock.py, stop_dbus(): Wait for local D-Bus to be killed, and avoid 425 getting SIGTERMed ourselves. 426- dbusmock.py: Add AddProperties() method to conveniently add several 427 properties to one interface at once. Update upower test case to use this. 428- dbusmock.py: Add EmitSignal() method to emit an arbitrary signal on any 429 interface. 430- Make code compatible with Python 2.7 as well. (LP: #1060278) 431 432## [0.0.3] - 2012-10-01 433- tests/test_api.py: Add tests for GetAll() 434- wait_for_bus_object(): Poll for Introspect() instead of GetAll(), as some 435 services such as gnome-session don't implement GetAll() properly. 436- Rename "dbus_mock" module to "dbusmock", to be more consistent with the 437 project name and Python module name conventions. 438- Support adding properties to different interfaces. 439- Support adding methods to different interfaces. 440 441## [0.0.2] - 2012-10-01 442- setup.py: Add categories. 443 444## [0.0.1] - 2012-09-28 445Initial release. 446