aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tests: Set db charset from test config.tests/test-db-setup-wipHarald Eilertsen2023-12-282-3/+11
| | | | | | | | MySql and PostgreSQL does of course have different names for charsets, so we have to explicitly define them in the respective phpunit.xml files. This also allows testing with other charsets if there should be a need for that, though I think utf8 should cover everything and then some.
* ci: Typo in CI test config env vars.Harald Eilertsen2023-12-281-1/+1
|
* ci: Enable db testing in CI.Harald Eilertsen2023-12-281-0/+40
|
* tests: Reenable coverage reporting in test config.Harald Eilertsen2023-12-281-0/+9
|
* tests: Set proper env vars in phpunit config.Harald Eilertsen2023-12-281-9/+6
|
* tests: Specify db type as string in env vars.Harald Eilertsen2023-12-281-1/+9
|
* tests: Remove some annotations that caused warnings.Harald Eilertsen2023-12-281-6/+1
|
* Merge branch 'dev' into tests/test-db-setup-wipHarald Eilertsen2023-12-271-0/+61
|\
| * Fix deserialization of config values broken by 69266cd6.Harald Eilertsen2023-12-171-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix issue #1828. This patch makes it explicit that we store arrays in the config as json encoded arrays, while we allow both json encoded and PHP serialized arrays to be deserialized correctly. Unless it's a brand new install, the existing data in the database will be PHP serialized. I've also added a hardening measure in case we fall back to PHP unserialize, making sure we're not vulnerable to a PHP Object Injection attack. This means that deserializing arrays containing PHP objects will no longer work, but afaict we never do that anyways, so I don't think that should break anything.
* | tests: Enable and fix incomplete tests.Harald Eilertsen2023-12-272-25/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the tests now have access to the database, there's no longer any need for mocking or stubbing functions that uses the db. As the codebase relies on global state and static class functions (aka classes as namespace), stubbing these are not straight forward and complicates the test code, and reliability. With access to the database, we can now perform these tests by populating the db tables with the content relevant for the test, and perform the actual tests to verify that the code behaves as expected given the db content we've created. In the tests I enabled in this patch, I've explicitly set the expected configuration in the db using the available API's in the code itself. While it would also be possible to add more permanent fixtures to set the db in the expected state, doing it dynamically like this has some advantages. It allows very specific setups for the test that we may not want to be set of every test. The photo factory test to ignore Image Magick is a good example of that. We may want to also test the opposite, that Image Magick is selected if the flag is not set (and the extention is available.) Also, the fixtures themselves are not more informative than the table column names they contain, so comments would be needed to document both the content and how it fits into the test environment. With the more dynamic approach the test code becomes more self documenting.
* | tests: Clean up default phpunit config a bit.Harald Eilertsen2023-09-111-12/+2
| |
* | tests: Add some db defaults in the UnitTestCase classHarald Eilertsen2023-09-111-7/+9
| |
* | tests: Test for get_account_by_idHarald Eilertsen2023-08-131-0/+12
| | | | | | | | First test that relies on the test db and fixtures.
* | tests: Populate test db with fixtures before test run.Harald Eilertsen2023-08-131-1/+36
| | | | | | | | | | This probably needs to be optimized a bit to avoid loading large amounts of db fixtures before each test. But it's getting somewhere!
* | tests: Fix transactions handling in UnitTestCase.Harald Eilertsen2023-08-131-4/+14
| |
* | WIP: begin integrating DB testing.Harald Eilertsen2023-08-124-8/+115
|/
* Zotlabs: Improve type safety for AccessList class.Harald Eilertsen2023-07-181-10/+26
| | | | | | | | | | | | | Add type annotations for constructor and set* methods, and throw an exception if the passed in arrays are missing required keys. This means that both invalid input types and missing keys will throw and exception rather than just die with a runtime error. There's not checks to verify that the contents of the required array keys are valid or make sense, though. They are just assigned, and returned as is by the get method when requested. Also, the set_from_array method is not well tested at the moment.
* tests: AccessListTest expand is_private test.Harald Eilertsen2023-07-121-1/+21
|
* tests: AccessListTest move type annotation to codeHarald Eilertsen2023-07-121-3/+2
| | | | | This cleans up the doc comment. Should probably try to do this everywhere.
* tests: AccessListTests nitpicking on doc comment.Harald Eilertsen2023-07-121-1/+3
|
* tests: AccessListTest collect defaults in one testcase.Harald Eilertsen2023-07-121-10/+8
| | | | Just no need to have them spread around in various other tests cases.
* test: Enable and cleanup GetTagsTest.Harald Eilertsen2023-07-121-206/+170
| | | | | | | | | | | | These tests actually tests both the get_tags() function, and the handle_tags() function. The latter don't work, and should probably be split into it's own test cases. There's also some stubs here that we may want to deal with in another way. Also removed meaningless "test" of intval() builtin function. It behaves as documented, no need for us to test it.
* tests: Cleanup ContainsAttribute test.Harald Eilertsen2023-07-121-10/+7
| | | | Mostly cosmetic to satisfy phpcs + remove explicit require.
* tests: Cleanup Autoname test.Harald Eilertsen2023-07-121-10/+7
| | | | Not sure if this test is actually useful, but leave it for now.
* tests: Don't explicitly require CUT in AntiXSSTest.Harald Eilertsen2023-07-121-2/+0
| | | | Rely on PHPUnit config to load the app and the code under test.
* unit-tests: There's no need to test builtin func hex2binHarald Eilertsen2023-07-121-10/+0
|
* unit tests: Cosmetic fixes in AntiXSSTest.phpHarald Eilertsen2023-07-121-25/+29
| | | | | | - Start comments with capital letter - Fix indentation - Add missing doc comments
* Unit tests: Update Markdown tests to reflect that it works.Harald Eilertsen2023-06-141-2/+2
|
* Unit tests: Book Hubzilla to make app env available in tests.Harald Eilertsen2023-06-141-0/+6
| | | | | Not quite unit test clean, but a somewhat pragmatic approach to make the tests pass as is.
* Add function is_local_url() to check if url is local.Harald Eilertsen2022-03-201-0/+33
|
* Add helper to escape URLs.Harald Eilertsen2022-03-201-0/+20
| | | | | | | | | The escaping makes the URL safe for display and for use in HTML element attributes (such as href="..." etc), but does not guarantee that the URL itself is valid after conversion. This should be good enough for mitigating XSS issues caused by injecting html or javascript into a URL. Also probably good enough for _most_ normal URLs, but there may be devils hidden in the details somewhere.
* comment out failing tests for nowMario2022-02-111-0/+5
|
* language testMario2022-02-111-5/+0
|
* merge branch perms_ng into devMario2021-12-153-33/+14
|
* a possible fix for the nested list testMario2021-09-291-2/+2
|
* fix testMario2021-06-051-1/+1
|
* fix testMario2021-05-271-0/+2
|
* get devHilmar R2021-03-016-3/+96
|
* coverage configMario2020-11-261-1/+1
|
* those would require dbunitMario2020-11-261-2/+5
|
* fix testMario2020-11-262-2/+3
|
* revert folder renamingMario2020-11-2635-0/+3069
|
* psr-4 autoloading standardMario2020-11-2638-3404/+0
|
* tests: more declare return typeMario2020-05-071-1/+1
|
* tests: declare return typeMario2020-05-071-1/+1
|
* fix markdown testMario2020-01-091-2/+2
|
* fix language testsMario2019-11-101-3/+3
| | | (cherry picked from commit 1affcb80172576dc46e4434cd10e1a534a9bb6c2)
* http signature consolidationzotlabs2019-06-261-21/+6
|
* Revert "fix test"Mario2019-04-251-2/+2
| | | This reverts commit c5fca0a1e784130b0e6f7aeee0bc36999f120bbf
* Revert "dbunit does not work wirh phpunit v 8.1.3 - try 7.5.9"Mario2019-04-251-2/+2
| | | This reverts commit 8401e9c2b4bca3bf19eb7590f827b7169f4647d9