Commit Graph

503 Commits

Author SHA1 Message Date
Johannes Meyer 14b56151aa Move configuration and preference handling to Form base class
Moved setConfiguration, setUserPreferences and getUserPreferences
to our Form base class due to some redundancies.

refs #4581
2013-09-04 11:06:24 +02:00
Johannes Meyer 23f0962da1 Adjust command forms and tests
Made those command forms using the DateTimePicker
element compatible with its new validation.

refs #4581
2013-09-03 09:27:02 +02:00
Johannes Meyer 368bd3c9c7 Refactor datetime validation
The DateTimePicker form element needs to know from now on,
how user input can be formatted when validating.

refs #4581
2013-09-03 09:27:02 +02:00
Johannes Meyer 1a003f8c8b Move configuration and preference handling to Form base class
Moved setConfiguration, setUserPreferences and getUserPreferences
to our Form base class due to some redundancies.

refs #4581
2013-09-03 09:27:02 +02:00
Johannes Meyer d8eccd3858 Skip regression tests if no configuration available
refs #4600
refs #4666
2013-09-02 17:24:43 +02:00
Johannes Meyer 01d7ea39aa Fix error when initiating multiple logins with casperjs
refs #4600
2013-09-02 17:24:43 +02:00
Johannes Meyer 24ecbb56d7 Fix incorrect checkresult type selection
When submitting a passive checkresult for hosts only their correct
result types are added to the selection.

refs #4600
2013-09-02 17:24:42 +02:00
Jannis Moßhammer 18d021d104 Fix logger not testing if it's disabled
refs #4595
2013-09-02 12:16:05 +02:00
Jannis Moßhammer c77f4ff1d9 Frontend tests: Run each *.js file seperately
refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer c7375d44fb Add regressiontest for this bug
refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer 4d9ecd2b3b Fix FormTest breaking after onchange modification
refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer a8b3716662 Fix checkswag not testing jshint correctly
The path was wrong, now it is correct.

refs #4617
2013-09-02 10:59:05 +02:00
Marius Hein 446da85a88 UserBackend: Fix interface in test
refs #4593
2013-08-30 15:32:06 +02:00
Marius Hein 7c8252a983 Rename class Credentials to Credential
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein 83d20a6175 AuthManager: Fix tests
refs #4641
2013-08-30 12:50:28 +02:00
Johannes Meyer bf5849a769 Fix GeneralForm tests
refs #4609
2013-08-29 15:08:31 +02:00
Johannes Meyer 49eb9ea30f Fix some remaining issues
- Changed "this.fail" to "this.test.fail" in frontend regression test 4606
- Restored default timezone "Europe/Berlin"
- Added "var/log/*.log" to .gitignore
- Updated default.pp so that the user apache is part of the vagrant group

refs #4606
refs #4605
refs #4640
2013-08-29 13:21:33 +02:00
Jannis Moßhammer 2c97ab26a4 Code style, Form tests and bugfixes
This commit summarizes the bugfixes made in this branch. As the frontend the fixes required a lot of stuff to be fixed afterwards and #4602 was used as a larger example regression test, this affects a few tickets:

- (Bug 4491) Frontend tests will hang randomly: CasperJS now operates on the installed version, so this shouldn't happen anymore
- (Bug 4602) Configuration Interface - Authentication: Backends moved when pushing enter: The authentication interface is reworked and does not persist a state over pages
- (Bug 4605) /tmp should not be the default log path: Now it is the application relative var/log path
- (Bug 4606) Configuration: Show message that changes were saved successfully: Implemented and tested with casperjs
- (Bug 4641) Installation/Testing fix configure/make: This has been reworked
- (Bug 4642) Allow Application placeholder in config: This was required for implementimg 4605
- (Bug 4643) Application doesn't work with older Zend Versions: A fallback __call has been implemented for this

refs #4491
refs #4602
refs #4605
refs #4606
refs #4641
refs #4642
refs #4643
2013-08-29 11:48:33 +02:00
Jannis Moßhammer 0f36cfce62 Fix frontend tests, give forms names
refs #4491
2013-08-29 11:48:33 +02:00
Jannis Moßhammer 0b515e39ac Implement {app} placeholder and Icinga\Config::resolvePath()
refs #4642
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 782291ec84 Change basepath for test and .htaccess
refs #4491
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 86f76a61bc Change 'die' to 'fail' in frontend tests
refs #4491
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 51d9f8eaa7 Remove original authenticationFormTest
refs #4606
2013-08-29 11:48:32 +02:00
Jannis Moßhammer d0ac97f335 Configure fixes, regression test for 4606
The configure routine still has to be improved, right now unused
authentication backends are commented out

refs #4491
refs #4606
refs #4640
2013-08-29 11:48:32 +02:00
Jannis Moßhammer c5dca9062b Frontend and configure.ac fixes
refs #4491
2013-08-29 11:47:10 +02:00
Jannis Moßhammer 81b41326cc Update frontend tests, add loginpage test
the runner now supports --host, --port, --path, --user and --pass for
icingaweb access and doesn't spawn any servers by itself.

Also a login test has been added. Other tests are removed as they don't
apply anymore.

refs #4491
2013-08-29 11:47:10 +02:00
Matthias Jentsch 874b163009 Fix comment padding and some coding-style issues in the test classes
refs #4615
2013-08-27 18:28:21 +02:00
Matthias Jentsch 5b58d5488b Add support for section reordering and formatting options to the PreservingIniWriter
The PreservingIniWriter needs to be aware of the the order of the sections and
update the section declarations in the configuration file when the order has
changed. Therefore add functions to correctly reorder sections.

refs #4615
2013-08-27 18:28:21 +02:00
Marius Hein c5bea04909 BaseTestCase: User response, CS and typo
refs #4608
2013-08-27 10:37:35 +02:00
Marius Hein dc71885eac Fix icinga application forms using BaseTestCase now
refs #4608
2013-08-26 13:25:20 +02:00
Marius Hein 1dfc578c00 Fix provider for Authentication/DbUserBackendTest
refs #4608
2013-08-26 12:36:49 +02:00
Marius Hein 69aa6e3d22 Test: Fix provider for Preferences/DbStoreTest
refs #4608
2013-08-26 11:41:35 +02:00
Marius Hein 1130376ad6 BaseTest: Create class and tests
refs #4608
2013-08-26 11:15:27 +02:00
Matthias Jentsch 49cf62a9dc Fix database related bugs
Fix coding standards in database schemes. Use DbAdapterFactory in all unit
tests instead of creating own adapters. Fix DbUserBackend and DbStore to use
FETCH_OBJ, instead of FETCH_ASSOC, to handle it consistently in the whole
application. Remove unnecessary table columns from the "account" scheme.

refs #4577
refs #4578
refs #4596
refs #4599
refs #4627
2013-08-26 11:09:37 +02:00
Marius Hein 9d4ca7739b Bootstrap: Safe application start
Log exceptions and inform user if something goes wrong.

refs #4625
refs #4592
2013-08-23 17:28:13 +02:00
Marius Hein afc302d45c Bootstrap: Safe application start
Log exceptions and inform user if something goes wrong.

refs #4625
refs #4592
2013-08-23 17:28:13 +02:00
Eric Lippmann d813ca62c5 Db: Set MySQL server SQL modes to behave closer to ANSI SQL
Was already implemented but someone dropped it accidentally
2013-08-21 14:40:37 +02:00
Jannis Moßhammer 9cd4c2f856 Fix codestyle, add basic tests
refs #4525
2013-08-21 14:22:30 +02:00
Jannis Moßhammer a6ff6ecadd Fix Codestyle/PHPDoc, fix configPath being Overwritten
Also removed possibility to disable debugging as there's no use case for this

refs #4525
refs #4598
2013-08-21 14:22:30 +02:00
Marius Hein 71603ccd70 Fix factory resource mock structure
refs #3777
2013-08-21 14:22:30 +02:00
Jannis Moßhammer 972bc9853e Configuration interfaces for logging, authentication and general configuration
- Added HelpText decorator
- Added Time and DateFormatValidator
- Added tests

refs #3777
2013-08-21 14:22:30 +02:00
Jannis Moßhammer 4810a0d47e Code style and test fixes
refs #3777
2013-08-21 14:22:29 +02:00
Jannis Moßhammer 17c1e5a449 Add tests, move BaseFormTest away from modules/monitoring
refs #3777
2013-08-21 14:18:53 +02:00
Matthias Jentsch 7353797147 Add server-side logging when not existing components are required and fix code style issues
refs #4456
2013-08-21 09:40:32 +02:00
Matthias Jentsch 5e663846a5 Remove old module loader
Remove old (now-unusable) module loader and components and corresponding unit
tests. Give the component loader and the component registry more meaningful names.

refs #4456
2013-08-21 09:40:32 +02:00
Matthias Jentsch 52c66893ab Add new component loader to load frontend-components
Add a component loader that finds components by searching for elements with the
"data-icinga-component" attribute and loads the corresponding JavaScript file
from the backend to render the component.

refs #4456
2013-08-21 09:40:31 +02:00
Marius Hein d348477455 Fix user test case: DateTimeZone comparison 2013-08-20 11:27:25 +02:00
Marius Hein 3a8a3b8f2c Monitoring backend: Change database objects to DbAdapterFactory
refs #4575
2013-08-19 18:29:26 +02:00
Eric Lippmann 329d63839b Monitoring/Commands: Fix tests
refs #4524
2013-08-16 17:38:50 +02:00
Jannis Moßhammer 0b479e3796 Code style fixes, fix documentation, fix tab parameters not being overwritten
refs #4512
2013-08-16 15:08:28 +02:00
Jannis Moßhammer 49d56f1eab Fix capitalization error in test require
refs #4512
2013-08-16 15:08:28 +02:00
Jannis Moßhammer b28c7f2f4c Refactor test, tabs and controller
- Remove unused methods,
- Code style
- Documentation for widgets
- Tabextensions instead of hardcoded tab actions
- Add tests for tabs
- Add missing phpdoc for touched files
- Fix tests

refs #4512
refs #4541
refs #4540
2013-08-16 15:08:28 +02:00
Matthias Jentsch 7f30b587be Change the StoreFactory to work with the DbAdapterFactory and fix code styling
Change the StoreFactory configuration to reference to a resource instead of
defining the whole database. Additionally fix docstrings, fix imports and fix
function calls to comply to coding style standards.

refs #4503
2013-08-15 14:16:34 +02:00
Matthias Jentsch f1040aad60 Add additional functionality and documentation for easier use through developers
Add functions to get information about currently available resources and add
documentation about class usage for developers.
2013-08-14 16:22:58 +02:00
Matthias Jentsch 3ce44b72e1 Change accepted exception type of unit test
Change the generic type Exception to a more specific one, to achieve
a more accurate test case.

resolves #4503
2013-08-14 16:22:58 +02:00
Matthias Jentsch 68deb735c0 Add the DbAdapterFactory to instanciate database adapters using resource names
Create the DbAdapterFactory to instanciate db adapters, add resources.ini to configure resources, change
the authentication Manager to fall back to backends with lower priority in case
of errors, update the current UserBackends to the changed environment. Also
adjust the documentation and existing unit tests.

resolves #4503
2013-08-14 16:22:58 +02:00
Jannis Moßhammer be29b8ff8f Make ConfigController and PreferenceController extensible by convention
- Rename ConfigurationController to ConfigController
- ConfigController and PreferenceController are now subclasses of
  BaseConfigController and BasePreferenceController
- Module and Application Config/Preference Tabs are detected via
  the ControllerTabCollector
- Moved Controller classes to Icinga/Web/Controller (this is why
  so many files are modified)

refs #4530
2013-08-14 16:08:15 +02:00
Matthias Jentsch eecbc233b9 Fix behavior of PreservingIniWriter that caused comments at the line end to be deleted
Implement a function to fetch comments at line end and use it to preserve
comments. Change the regular expressions used to parse lines to be more aware
of whitespaces between terms. Add automatic value and comment indentation
to produce cleaner output.
2013-08-14 15:05:10 +02:00
Eric Lippmann bd140f2828 CC: Fix phpcs errors of files changed in feature/datetime-element-4440
refs #4440
2013-08-12 16:43:10 +02:00
Eric Lippmann 2c217d1d06 Framework/DateTime: No longer use the Unix timestamp format since this ignores the time zone
refs #4440
2013-08-12 16:43:10 +02:00
Eric Lippmann 9f22905837 Framework/DateTimePicker: Set element's value to Unix timestamp after the input is considered valid
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann 3d104474d9 Tests: Fix UserTest as getTimeZone now returns a DateTimeZone object
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann ba00fd39df Framework: Get DateTimePicker's value as timestamp and add input validation
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann da7f619804 Framework: Implement DateFormat view helper
Support date, time and datetime formatting based on format strings
set either by the user or via config.ini. The view helper
FormDateTime uses the new helper already

refs #4440
refs #4424
2013-08-12 16:43:09 +02:00
Eric Lippmann 8af901e9ed Framework/User: Implement getTimezone to retrieve the user's Timezone
refs #4440
2013-08-12 16:42:50 +02:00
Eric Lippmann 93ae6d6811 Framework: mv Icinga\Config\Config to Icinga\Application\Config
refs #4543
2013-08-12 15:02:25 +02:00
Jannis Moßhammer ec17efe328 Add test for Dimension
refs #4192
2013-08-07 17:44:40 +02:00
Jannis Moßhammer b3e0d5e8ce Remove AbstractWidget and make Widget an interface
As Widget's already denote an abstract concept, the name
'AbstractWidget' is redundant. Also this class didn't do anything except
fetching a view via a singleton (which is now injected into the render method)
and bypassing the PHP class properties by creating a 'properties' array which is
filled with magic getters and setters (which now are simply php class properties)

Further changes:
- toString is removed, as this incorporated a lot of
   application logic which would cause unrecoverable
   errors when throwing exceptions
- renderToHtml is now just render and the view dependency must be
   passed, as a widget shouldn't be responsible for getting
   view instance (this means that <?= $this->tabs ?> is now
   <?= $this->tabs->render($this); ?> in the templates
- Controllers don't have $this->widget anymore as Widgets are
   directly instanciated with their class, allowing better code completion
   and avoiding hidden dependencies, also Widget::create is now removed
   in favor of direct instanciation.

refs #4192
2013-08-07 17:41:43 +02:00
Matthias Jentsch c1338898a6 Fix errors in function comments and move IniEditor into single class file
refs #4352
2013-08-07 15:58:51 +02:00
Matthias Jentsch 56e47fd084 Add an ini writer for configuration files
Add an ini writer that respects the file structure and the comments that may be
already present in the config file. Move Application/Config.php into
Config/Config.php.

refs #4352
2013-08-07 15:58:42 +02:00
Johannes Meyer 4befc9be94 Merge branch 'feature/preferences-backend-4069'
resolves #4069
2013-08-06 12:04:16 +02:00
Johannes Meyer 3ad4a4281d Add missing form tests and update documentation
refs #4439
2013-08-06 11:11:29 +02:00
Johannes Meyer 98e7ab02db Implement dynamic form elements
Rename "isPostAndValid" to "isSubmittedAndValid" and refactor it.
Add possibility for specific form elements to auto-submit their form.

refs #4439
2013-08-06 11:09:42 +02:00
Jannis Moßhammer 4f1e6ec720 Code style and comment fixes
refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer b44de95caa Call commandhandler from commandcontroller actions
The CommandController now implements the calls to the specific
command methods and sends commands to the icinga process

refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer d6bbed3a54 Extract the transport functions from the CommandPipe
- The CommandPipe class now delegates submission of commands to
  the Transport classes (LocalPipe or SecureShell)
- Added SSH options for non-interactive mode
- Refactored tests

refs #4441
2013-08-06 09:27:37 +02:00
Marius Hein 6112189b0c User preferences: Add database store
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein 6d1f349616 User preferences: Implement interfaces and ini store
refs #4069
2013-08-05 16:56:02 +02:00
Jannis Moßhammer 5a82c37ed1 Fix session test save path not being writable for vagrant user
The tests now try to write to /tmp and are skipped if this folder
is not writable. Also the test has been refactored a bit (comments,
assertion messages)

regs #4461
2013-08-02 15:35:05 +02:00
Jannis Moßhammer 5c3eb1d796 Style fixes and addParam test
refs #4381
2013-08-02 13:14:56 +02:00
Jannis Moßhammer 50ca1aec1a Refactor URL class and test
The constructor of the class is now private, instantiation happens
with Url::fromRequest and Url::fromPath. Also updated all occurences
of Url and fixed the Qlink helper to not overwrite the baseUrl with null
values

refs #4381
2013-08-02 13:14:55 +02:00
Marius Hein a1a8d4c157 Code compliance change and rename refs to User
refs #4066
2013-07-30 14:06:46 +02:00
Marius Hein 8510d57cf8 Prepare user settings api
Rework application bootstrap, move user object to its new location, implement web
request class to handle the user object.

refs #4066
2013-07-30 14:06:46 +02:00
Matthias Jentsch d5d0da6b1b Add missing property comments in DbUserBackendTest
refs #3769
2013-07-29 12:47:15 +02:00
Matthias Jentsch e51737f42a Fix the installation manual, comments and give the unit-test functions a more
verbose name

refs #3769
2013-07-29 11:42:31 +02:00
Matthias Jentsch 94e9ffc7b3 Fix comments
refs #3769
2013-07-26 15:57:37 +02:00
Jannis Moßhammer 306a51271b Change 'user' table to 'account', error handling and docs
Fix installation instructions for postgresql, the user table is now
'account', as user is a keyword in some rdbms, now catching exceptions
and returning auth failed while logging errors

refs #3769
2013-07-26 15:01:52 +02:00
Matthias Jentsch fd4cbf1c5b Add default login to the authentication database
refs #3772
2013-07-26 13:10:00 +02:00
Matthias Jentsch b013966464 Fix unit tests and add documentation
Add functionality to check if a certain database type like psql or mysql is
available and skip the tests accordingly.

Add documentation for backend authentication.

refs #3769
2013-07-26 13:09:59 +02:00
Matthias Jentsch 2807982f72 Remove crypto-module and use libraries instead
Remove the crypto-module to reduce amount of dependencies and use hash_hmac
with SHA256 instead.

refs #3769
2013-07-26 13:09:59 +02:00
Matthias Jentsch 3ff0c0f02a Adds DbUserBackend to handle the authentication against a sql db.
Users should be able to authenticate against an internal DB without setting up
additional authentication domains.

refs #3769
2013-07-26 13:09:59 +02:00
Jannis Moßhammer e2b98a4138 Fix broken login form
The login form was broken, as it used the old form api (disableCSRFToken
instead of setTokenDisabled and isValid instead of isPostAndValid)

refs #4459
2013-07-26 10:34:45 +02:00
Jannis Moßhammer 6900507ebc Merge branch 'feature/command-masks-4355' of ssh://git.icinga.org/icinga2-web 2013-07-24 12:49:43 +02:00
Jannis Mosshammer e8204f4755 Merge branch 'feature/service-detail-view-4181' of ssh://git.icinga.org/icinga2-web
Conflicts:
	library/Icinga/Application/Logger.php
	library/Icinga/Application/Web.php
	library/Icinga/Authentication/Backend/LdapUserBackend.php
	library/Icinga/Authentication/Credentials.php
	library/Icinga/Authentication/Manager.php
	library/Icinga/Authentication/PhpSession.php
	library/Icinga/Authentication/Session.php
	library/Icinga/Authentication/User.php
	library/Icinga/Authentication/UserBackend.php
	library/Icinga/Backend/AbstractBackend.php
	library/Icinga/Backend/DataView/ObjectRemappingView.php
	library/Icinga/Backend/Query.php
	library/Icinga/Backend/Statusdat/DataView/StatusdatHostView.php
	library/Icinga/Backend/Statusdat/HostgroupsummaryQuery.php
	library/Icinga/Backend/Statusdat/HostlistQuery.php
	library/Icinga/Backend/Statusdat/ServicegroupsummaryQuery.php
	library/Icinga/Backend/Statusdat/ServicelistQuery.php
	library/Icinga/Exception/ConfigurationError.php
	library/Icinga/Exception/MissingParameterException.php
	library/Icinga/Exception/NotImplementedError.php
	library/Icinga/Exception/ProgrammingError.php
	library/Icinga/Exception/SystemPermissionException.php
	library/Icinga/Protocol/AbstractQuery.php
	library/Icinga/Protocol/Commandpipe/Acknowledgement.php
	library/Icinga/Protocol/Commandpipe/CommandPipe.php
	library/Icinga/Protocol/Commandpipe/Comment.php
	library/Icinga/Protocol/Commandpipe/Downtime.php
	library/Icinga/Protocol/Commandpipe/Exception/InvalidCommandException.php
	library/Icinga/Protocol/Commandpipe/IComment.php
	library/Icinga/Protocol/Commandpipe/PropertyModifier.php
	library/Icinga/Protocol/Ldap/Connection.php
	library/Icinga/Protocol/Ldap/Exception.php
	library/Icinga/Protocol/Ldap/LdapUtils.php
	library/Icinga/Protocol/Ldap/Node.php
	library/Icinga/Protocol/Ldap/Query.php
	library/Icinga/Protocol/Ldap/Root.php
	library/Icinga/Protocol/Statusdat/Exception/ParsingException.php
	library/Icinga/Protocol/Statusdat/IReader.php
	library/Icinga/Protocol/Statusdat/ObjectContainer.php
	library/Icinga/Protocol/Statusdat/Parser.php
	library/Icinga/Protocol/Statusdat/Query.php
	library/Icinga/Protocol/Statusdat/Query/Expression.php
	library/Icinga/Protocol/Statusdat/Query/Group.php
	library/Icinga/Protocol/Statusdat/Query/IQueryPart.php
	library/Icinga/Protocol/Statusdat/Reader.php
	library/Icinga/Protocol/Statusdat/RuntimeStateContainer.php
	library/Icinga/Protocol/Statusdat/View/AccessorStrategy.php
	library/Icinga/Web/ActionController.php
	library/Icinga/Web/Form.php
	library/Icinga/Web/Hook/Configuration/ConfigurationTab.php
	library/Icinga/Web/Hook/Configuration/ConfigurationTabBuilder.php
	library/Icinga/Web/Hook/Configuration/ConfigurationTabInterface.php
	library/Icinga/Web/Hook/Grapher.php
	library/Icinga/Web/Hook/Toptray.php
	library/Icinga/Web/ModuleActionController.php
	library/Icinga/Web/Notification.php
	library/Icinga/Web/Paginator/Adapter/QueryAdapter.php
	library/Icinga/Web/Paginator/ScrollingStyle/SlidingWithBorder.php
	library/Icinga/Web/Widget.php
	modules/monitoring/application/views/helpers/MonitoringCommands.php
	modules/monitoring/application/views/helpers/MonitoringFlags.php
	modules/monitoring/application/views/helpers/MonitoringProperties.php
	modules/monitoring/application/views/scripts/show/components/comments.phtml
	modules/monitoring/application/views/scripts/show/components/downtime.phtml
	modules/monitoring/application/views/scripts/show/components/flags.phtml
	modules/monitoring/application/views/scripts/show/components/properties.phtml
	modules/monitoring/application/views/scripts/show/header.phtml
	modules/monitoring/application/views/scripts/show/host.phtml
	modules/monitoring/application/views/scripts/show/service.phtml
	modules/monitoring/library/Monitoring/Backend/AbstractBackend.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/DowntimeQuery.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
	modules/monitoring/library/Monitoring/Backend/Statusdat.php
	modules/monitoring/library/Monitoring/Backend/Statusdat/Criteria/Order.php
	modules/monitoring/library/Monitoring/Backend/Statusdat/DataView/StatusdatServiceView.php
	modules/monitoring/library/Monitoring/Backend/Statusdat/Query/GroupsummaryQuery.php
	modules/monitoring/library/Monitoring/Backend/Statusdat/Query/Query.php
	modules/monitoring/library/Monitoring/Command/Meta.php
	modules/monitoring/library/Monitoring/View/DowntimeView.php
	modules/monitoring/test/php/application/views/helpers/MonitoringCommandsTest.php
	modules/monitoring/test/php/application/views/helpers/MonitoringPropertiesTest.php
	modules/monitoring/test/php/library/Command/MetaTest.php
2013-07-23 16:33:07 +02:00
Marius Hein 51615766b3 Command masks: Fix test runner 2013-07-23 14:48:17 +02:00
Marius Hein 6e3e3c358b Command masks: Add test
refs #4355
2013-07-23 14:47:40 +02:00
Marius Hein 8d3ff94696 Remove php strict errors
refs #4448
2013-07-23 12:18:27 +02:00
Jannis Moßhammer 07f7e7ef23 Fix interface changes of statusdat in tests
The StatusDat tests didn't run as they were outdated, now a
newer version is added

refs #4178
refs #4179
2013-07-22 13:47:09 +02:00
Jannis Moßhammer dac9b7be4b Fix mixedPagination property typo, Statusloader libraries missing and getter for Abstractquery
refs #4178
2013-07-19 17:48:24 +02:00
Jannis Moßhammer 76a3ef86c1 Fix QueryAdapter and SlidingWithBorderTest, remove --strict
QueryAdapter and SlidingWithBorder used the statusdat backend and
must therefore be modified.
The --strict parameter stores controller tests because of the 1s timeout
and offers now advantages for us at this time.

refs #4417
2013-07-19 11:36:11 +02:00
Jannis Moßhammer 5827cb37cb Fix statusdat tests and implementation
After moving StatusDat to monitoring/Backends and changing the
inheritance to Library/Icinga/Data, a few changes must be reflected in the tests:
- Move tests to monitoring module
- Change $this->backend references in StatusDat Queries to $this->ds
- Added LibraryLoader to ease requiring of libaries (to be discussed)

refs #4417
refs #4179
2013-07-19 11:36:05 +02:00
Jannis Moßhammer c1860e7d5d Merge branch 'master' of ssh://git.icinga.org/icinga2-web into feature/host-overview--4179
Conflicts:
	modules/monitoring/application/controllers/ListController.php
	modules/monitoring/application/controllers/ShowController.php
	modules/monitoring/library/Monitoring/Backend/AbstractBackend.php
2013-07-15 13:52:26 +02:00
Jannis Moßhammer 2609c8765b Merge branch 'feature/autoload-application-code-4407' of ssh://git.icinga.org/icinga2-web 2013-07-15 13:42:16 +02:00
Jannis Moßhammer e0f0e1fc13 Fix history api URI encoding
The history API encoded components multiple times, e.g. causing a [ to
be converted to %5B in the first link, then to %255B on the second link,
%25255B on the third, etc.

refs #4408
2013-07-15 13:03:12 +02:00
Jannis Moßhammer bec7049785 Merge branch 'bugfix/history-api-encoding-4408' into feature/host-overview--4179 2013-07-15 12:41:07 +02:00
Marius Hein e049d8f3c4 Autoload: Fix test before rename namespaces
Drop builder test, it is not needed anymore. Skip all notification
tests. Test includes bootstrapping and throw errors with ldap auth.

refs #4407
2013-07-15 11:20:12 +02:00
Marius Hein 316893ad2c Add new autoloader implementation
New namespace implementation created to load application code
like forms with this autoloader. Consumpting services can register
their own, multiple namespaces. Overlapping namespaces matched
by closest name.

refs #4407
2013-07-12 16:11:03 +02:00
Jannis Moßhammer 820ed8f7a8 Merge branch 'master' of ssh://git.icinga.org/icinga2-web into feature/host-overview--4179 2013-07-12 16:02:00 +02:00
Jannis Moßhammer b045650a19 Merge branch 'master' of ssh://git.icinga.org/icinga2-web into feature/host-overview--4179
Conflicts:
	application/layouts/scripts/layout.phtml
	modules/monitoring/application/controllers/ListController.php
	modules/monitoring/application/controllers/ShowController.php
	modules/monitoring/application/views/scripts/list/hosts.phtml
	modules/monitoring/application/views/scripts/show/components/comments.phtml
	modules/monitoring/application/views/scripts/show/components/contacts.phtml
	modules/monitoring/application/views/scripts/show/components/customvars.phtml
	modules/monitoring/application/views/scripts/show/host.phtml
	modules/monitoring/library/Monitoring/Backend/AbstractBackend.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
2013-07-12 15:55:31 +02:00
Eric Lippmann 6eefa2bacb Use require_once instead of require in ConfigTest
refs #4354
2013-07-12 15:52:35 +02:00
Eric Lippmann 8c6f2a07ae Remove magic retrieval of configuration files
This change leads to expected exceptions when bootstrapping the
application since the \Icinga\Application\Config class was
refactored but its usage not.

refs #4354
refs #4353
2013-07-12 15:41:35 +02:00
Eric Lippmann d51b00b508 Update Livestatus tests 2013-07-12 14:02:43 +02:00
Jannis Moßhammer 673f73b38a Fix history api URI encoding
The history API encoded components multiple times, e.g. causing a [ to
be converted to %5B in the first link, then to %255B on the second link,
%25255B on the third, etc.

refs #4408
2013-07-12 11:51:59 +02:00
Johannes Meyer 9f745505ce Adjust php testrunner so that a html coverage report is generated
Remove the --coverage-clover argument as the jenkins plugin cannot
properly read it and added --coverage-html instead.

refs #4313
2013-07-09 15:03:22 +02:00
Marius Hein 6b37fcf24f Host detail view
Add commands to detail view

refs #4182
2013-07-08 16:12:47 +02:00
Marius Hein f455b32464 Host detail view
Add flags container to detail view

refs #4182
2013-07-08 16:12:47 +02:00
Johannes Meyer 68cce096e6 Add --vagrant switch to the frontend test-runner
Added -V|--vagrant switch to the frontend test-runner
to run the tests in the Vagrant VM

refs #4264
2013-07-01 12:10:54 +02:00
Johannes Meyer 2132628b7e Fix frontend test-runner so that it works on Ubuntu as well 2013-07-01 12:10:31 +02:00
Johannes Meyer 5e48999478 Add --vagrant switch to the javascript style-checker
Added -V|--vagrant switch to the javascript style-checker
to run the checks in the Vagrant VM

refs #4264
2013-07-01 12:08:01 +02:00
Johannes Meyer d7ebe7fa08 Add --vagrant switch to the javascript test-runner
Added -V|--vagrant switch to the javascript test-runner
to run the tests in the Vagrant VM

refs #4264
2013-07-01 12:08:01 +02:00
Johannes Meyer a7a8836b5b Add --vagrant switch to the php style-checker
Added -V|--vagrant switch to the php style-checker
to run the checks in the Vagrant VM

refs #4264
2013-07-01 12:08:01 +02:00
Johannes Meyer 747d8b31e8 Add --vagrant switch to the php test-runner
Added -V|--vagrant switch to the php test-runner
to run the tests in the Vagrant VM

refs #4264
2013-07-01 12:08:01 +02:00
Eric Lippmann 9d0d11418a Fix QlinkTest
refs #4301
2013-06-28 11:17:34 +02:00
Marius Hein 1ede8df2af Extensible configuration system
Add configuration tab builder parts to register
free configuration tab items

refs #4300
2013-06-27 16:10:54 +02:00
Marius Hein b403721c11 Extensible configuration system
Add object registration for hooks.

refs #4300
2013-06-27 16:10:54 +02:00
Jannis Moßhammer 7bba673a61 Add exclude rules for php coverage
This should cause the coverage report to ignore the zend files

refs #4349
2013-06-27 11:39:08 +02:00
Jannis Moßhammer 03d8627436 Remove console.debug move to console.log
This caused the mocha_results.xml to contain
the application outpu

refs #4349
2013-06-27 11:19:04 +02:00
Jannis Moßhammer a3e636e0ae Remove public symlink (again)
this is an artifact from development and should
be created dynamically

refs #4349
2013-06-27 10:51:57 +02:00
Jannis Moßhammer d71d15c822 Merge branch 'master' of ssh://git.icinga.org/icinga2-web into feature/history-api-4303
Conflicts:
	public/js/icinga/components/actionTable.js
	public/js/icinga/components/mainDetail.js
	public/js/icinga/container.js
	public/js/icinga/util/async.js
2013-06-27 10:20:46 +02:00
Jannis Moßhammer 5e5b301d0d Add support for lazy module loading
When the X-Icinga-Module-Enable header is send, the
modulemanager automatically tries to load javascript files for
that module. This is realized by adding the 'registerHeaderListener'
method to the async manager, which allows to listen to specific headers
and firing callbacks if a response with the specified header is retrieved.

Also the tests have changed a bit, requireNow should be used when using
the requiremock, so a require always loads files new.

refs #4092
refs #3753
2013-06-26 16:41:07 +02:00
Jannis Moßhammer 33b4a2ced0 Fix test for new module route
The js base route is now js/modules/%modulename%/%file%. This
commit reflects these changes in the testcases

refs #4092
refs #3735
2013-06-26 16:41:07 +02:00
Jannis Moßhammer e9ade7a339 Add support for lazy module loading
When the X-Icinga-Module-Enable header is send, the
modulemanager automatically tries to load javascript files for
that module. This is realized by adding the 'registerHeaderListener'
method to the async manager, which allows to listen to specific headers
and firing callbacks if a response with the specified header is retrieved.

Also the tests have changed a bit, requireNow should be used when using
the requiremock, so a require always loads files new.

refs #4092
refs #3753
2013-06-26 16:37:12 +02:00
Jannis Moßhammer c25ea37fd8 Fix test for new module route
The js base route is now js/modules/%modulename%/%file%. This
commit reflects these changes in the testcases

refs #4092
refs #3735
2013-06-26 16:37:12 +02:00
Jannis Moßhammer 3490469727 Add clearstatcache and tests for ModuleManager
Added the clearstatcache call before enabling or disabling modules,
as this prevents a 'File exists' error that occurs sometimes on
symlink creation (even when the folder is empty). Also added tests
for teh moduleManager

refs #4092
2013-06-26 16:36:36 +02:00
Marius Hein a1327a384c Fix Authentication workflow
Fix ldap backends to use Credentials to work with. Fix
some tests to use include right files.

refs #4340
2013-06-25 12:24:52 +02:00
Jannis Moßhammer 8192c19424 Fix Authentication workflow
- The authentication controller now uses the Authentication/Manager class,
also there were some issues in the Session creation, this has been removed
from the Bootstrap now, as the Controller must decide how to open a session
(read-only or read/write).
- The tests reflect a few chagnes, as the move from the CSRF token generation
to the Formbuilder.
- Notificaiton now doesn't use Zend Session

refs #4340
2013-06-25 11:54:42 +02:00
Marius Hein 27c5f459b1 History API
Remove dangling symlink and add symlink to .gitignore

refs #4303
2013-06-25 11:45:03 +02:00
Jannis Moßhammer 04f7149cfe Allow container-based url in history api
When a url is now loaded for an non-main container, the url for the
container is appended to the GET part of the URL

refs #4303
2013-06-25 11:18:27 +02:00
Jannis Moßhammer a8019222f5 Add History Api test
Add CasperJS Tests for History API (~80%). Also provides a few
resources like the generic.html site that can be used for more
setups

refs #4303
refs #4315
2013-06-25 11:18:27 +02:00
Jannis Moßhammer 4ed11dba4c Add 'public' symlink creation to runtests
Runtest now creates a symlink to the public folder when it doesn't
exist, allowing the built-in server to access the js files
without too much hassle

refs #4303
refs #4315
2013-06-25 11:18:26 +02:00
Jannis Moßhammer e075db3800 Add temporary http server for casperjs tests
Added a static folder and spawn a small HTTP server on runtests.
This is not really the best solution, as it uses pythons
simpleHTTPServer, but it works for now

refs #4315
2013-06-25 10:22:52 +02:00
Marius Hein 8d1038e622 Refactor and test \Icinga\Web\Form
Fix inspection issues, added some other code for testing to
have more coverage, fix test for QLink view helper.

refs #4302
refs #4341
2013-06-25 09:43:55 +02:00
Jannis Moßhammer 5cddbd1162 Add Form\Builder
The builder class allows to create forms and bind them to
models. The tests are currently failing because of the zend
pluginloader, this must be evaluated

refs #4302
2013-06-24 18:48:32 +02:00
Jannis Moßhammer fa5c499733 Allow container-based url in history api
When a url is now loaded for an non-main container, the url for the
container is appended to the GET part of the URL

refs #4303
2013-06-19 13:22:02 +02:00
Jannis Moßhammer e8d7971531 Add History Api test
Add CasperJS Tests for History API (~80%). Also provides a few
resources like the generic.html site that can be used for more
setups

refs #4303
refs #4315
2013-06-19 13:22:02 +02:00
Jannis Moßhammer c126374807 Add 'public' symlink creation to runtests
Runtest now creates a symlink to the public folder when it doesn't
exist, allowing the built-in server to access the js files
without too much hassle

refs #4303
refs #4315
2013-06-19 13:22:02 +02:00
Jannis Moßhammer 990bc77d81 Add temporary http server for casperjs tests
Added a static folder and spawn a small HTTP server on runtests.
This is not really the best solution, as it uses pythons
simpleHTTPServer, but it works for now

refs #4315
2013-06-19 13:22:01 +02:00
Jannis Moßhammer 0d0db281f7 Test and icinga.js module setup procedure
Behaviours are now modules and icinga.js automatically
requests module/list (which should be served by the application
and is non static) and retrieves a list of modules to request and
enable.

refs #3753
2013-06-17 11:22:53 +02:00
Jannis Moßhammer 63f7b8016e Add tests for javascript module implementation
This commit adds tests for the module loader and registry of
icinga2-web. It mainly registers event handlers and calls
custom enable/disable functions

refs #3753
2013-06-17 11:22:53 +02:00
Marius Hein 1f0e07cb36 Test and move bootstrapping/web code to source tree
Add simple test to use zend controller test.

refs #4249
2013-06-17 08:49:27 +02:00
Johannes Meyer 60836aace3 Merge branch 'bugfix/require-mock-4308
fixes #4308
2013-06-14 10:26:42 +02:00
Jannis Moßhammer 21e4ec1727 Fix wrong variable name in requiremock's getDefine
The getDefine method check's for existence of the 'arg' variable,
which was renamed to 'name', causing the typeof arg === "undefined"
to always return true

refs #4308
2013-06-14 09:50:06 +02:00
Jannis Moßhammer 9563541814 Fix ManagerTest's invaldi @expectedException annotation
The annotation catched the generic \Exception, which PHPunit
forbids. Now the tests directly catches and asserts this
exception

refs #4310
2013-06-14 09:39:34 +02:00
Jannis Moßhammer 780ea68f2f Remove abandoned files from tests
The deleted files were incomplete tests for non-existing files,
so they don't affect the build process

refs #4310
2013-06-14 09:38:11 +02:00
Jannis Moßhammer d2cd52218a Add mockup for requirejs
Tests can now call require('requiremock') to bootstrap an alternative
requirejs implementation and use the resulting object for defining
dependencies and mocks

refs #4308
2013-06-13 17:29:38 +02:00
Marius Hein 5e14f828ba Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Fix PSR compliance.

refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein 56844306c3 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Add test for Icinga_Web_Paginator_ScrollingStyle_SlidingWithBorder

refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein 9657ba565e Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Add test for paginator/QueryAdapter

refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein c13208a0f8 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Add AbstractWidgetTest

refs #4256
2013-06-13 11:59:47 +02:00
Marius Hein c98be3ef73 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Add test for Widget.

refs #4256
2013-06-13 11:59:47 +02:00
Marius Hein ccd5564a37 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Modify test for hook, add test for notification

refs #4256
2013-06-13 11:59:47 +02:00
Marius Hein 45262d4e50 Unify test runners options, args and output
Test commit

refs #4244
2013-06-11 18:25:21 +02:00
Marius Hein 2909605f96 Unify test runners options, args and output
Fix runtests and checkswag

refs #4244
2013-06-11 18:25:21 +02:00
Johannes Meyer 5119e71d41 Add make call to ensure that bin/extcmd_test exists.
refs #4258
2013-06-11 18:25:21 +02:00
Johannes Meyer 7e14a2077d Add include and exclude handling to the js style-checker.
--include and --exclude now accept unix shell-style patterns.

refs #4244
2013-06-11 18:25:21 +02:00
Johannes Meyer 7c779bc525 Improve path handling of the js style-checker. 2013-06-11 18:25:21 +02:00
Johannes Meyer 5e70dfb87e Rewrite javascript style-checker.
--include and --exclude are not working yet.

refs #4244
2013-06-11 18:25:21 +02:00
Johannes Meyer 10c1b1a548 Rewrite javascript test-runner.
refs #4244
2013-06-11 18:25:21 +02:00
Johannes Meyer 81dee05887 Rewrite php style-checker.
When --include or --exclude is given one has to provide files/directories.

refs #4244
2013-06-11 18:25:21 +02:00
Johannes Meyer 72c1255dc6 Rewrite php test-runner.
--include and --exclude will affect group annotations.
(See: http://phpunit.de/manual/current/en/appendixes.annotations.html#appendixes.annotations.group)

refs #4244
2013-06-11 18:25:21 +02:00
Marius Hein 521baeba5e Add extcmd.c compilation to test/php/runtests.sh
Add binary to .gitignore and fix test path generation of cache
dir.

refs #4258
2013-06-11 18:05:17 +02:00
Jannis Moßhammer a6100acaa8 Move ordering of make after cd in runtests.sh
Jenkins called make from a different folder and didn't find
the makefile. It's moved now after the cd directive

refs #4258
2013-06-11 18:04:29 +02:00
Jannis Moßhammer 03ad76b739 Add Makefile for generating extcmd_test when it doesn't exist
extcmd_test contains the external-command parser from icinga-core
and allows the commandpipe tests to check if the commands would
be accepted by the core

refs #4258
2013-06-11 18:04:29 +02:00
Marius Hein ed53ab6c9d Refactor Authentication Code
Fix PSR, fix testing

refs #4265
2013-06-11 13:53:42 +02:00
Jannis Moßhammer 3199f21f29 Added License header, removed deprecated or empty files
refs #4265
2013-06-11 13:33:16 +02:00
Jannis Moßhammer e325ad3417 Add LdapUserBackend and (skipping) test
The test is skipped due to the tight coupling of the Ldap Protocol
Backend to the rest of the application, this has to be addressed
as soon as the Connection is cleaned up

refs #4265
refs #4250
2013-06-11 13:33:15 +02:00
Jannis Moßhammer 70e8562814 Add PhpSession with tests
PhpSession handles file based sessions as supported by PHP

refs #4265
refs #4250
2013-06-11 13:32:33 +02:00
Jannis Moßhammer db61cfafe1 Update and test Auth/Manager implementation
- remove Storable inheritance from User and make it a plain DAO
- remove Authorization methods from User

refs #4265
refs #4250
2013-06-11 13:32:33 +02:00
Jannis Moßhammer d1f6668fe7 Add library from incubator and teststubs
This commit only contains the untested libaries from the incubator
and autogenerated teststubs and is the basis for writing the tests

refs #4250
2013-06-11 13:23:59 +02:00
Jannis Moßhammer ea2ad1f8c0 Merge branch 'master' of ssh://git.icinga.org/icinga2-web into bugfix/psr-compliance-4246 2013-06-10 16:46:18 +02:00
Jannis Moßhammer f898e2e367 Fix broken files in Statusdat Expression handler
The function tokens in the Expression handler didn't
work after they were rewritten, as the rewrite was
missing in certain files. This is fixed now

refs #4246
2013-06-10 16:44:58 +02:00
Jannis Moßhammer 1b600a8dd3 Merge branch 'bugfix/psr-compliance-4246'
fixes #4246
2013-06-07 15:28:08 +02:00
Marius Hein 6f80d410b8 Integrate javascript frontend/component tests
Fix output and make smaller

refs 4213
2013-06-07 15:09:31 +02:00
Marius Hein e05ca449ae Fix PSR compliance
Alter files to follow PSR standards.

refs #4246
2013-06-07 13:29:11 +02:00
Jannis Moßhammer 3e4ae41e8a Rename runtests.sh to runtest
As we have different executables for executing the runtests scripts,
runtests.sh is now renamed to runtests in order to stay consistent
over all testrunners

refs #4213
refs #4244
2013-06-07 10:34:39 +02:00
Jannis Moßhammer b253c4c069 Renamed runtest to runtests.sh
refs #4213
2013-06-06 16:13:32 +02:00
Jannis Moßhammer 359b51be43 Add testrunner for frontend tests
This runner should conform to our runner specification

refs #4213
refs #4244
2013-06-06 16:07:32 +02:00
Jannis Moßhammer a1298e6edd Add dummy test case for casperjs
The dummy test only checks whether our build server has the correct
title when called. Also the i2w-config.js toolkit is provided
to help testing correct paths

refs #4213
2013-06-06 16:05:55 +02:00
Marius Hein 29f032502c Integrate regression tests
Add js regression structure and configured mocha
2013-06-04 17:20:18 +02:00
Marius Hein 8d08167d11 Integrate regression tests
Removed javascript directory, because we use js for that.

refs #4102
2013-06-04 16:00:35 +02:00
Marius Hein a221568a84 Integrate regression tests
Add regression testing for php: structure and bogus test.

refs #4102
2013-06-04 15:55:44 +02:00
Marius Hein 5df14b41e1 Merge branch 'feature/build-server-integration-4067'
Conflicts:
	.gitignore
2013-06-04 11:40:20 +02:00
Marius Hein 321aa9b4e3 Integrate PHPCS
Include only own code, test for binary

refs #4070
2013-06-04 11:26:12 +02:00
Marius Hein ed24a90c1a Integrate PHPUNIT
Modify tester, chdir to tests directory and test binary

refs #4068
2013-06-04 11:20:22 +02:00
Marius Hein 9b907e3cd3 Move tested existing resources to new productive repository
Rename docs, tests and test/ui to doc, test and test/frontend to
suite skeleton definition.

refs #4212
2013-06-04 10:20:51 +02:00
Johannes Meyer 4b225eccee Fix: Style-checkers report their output to wrong location 2013-06-03 16:07:52 +02:00
Marius Hein 71f2c408df Integrate PHPCS
Fix absolute directory issue.

refs #4070
refs #4098
refs #4099
2013-06-03 15:29:54 +02:00
Marius Hein 0592bff4ef Build server
Add absolute directory for helper scripts

refs #4067
refs #4213
refs #4099
refs #4098
refs #4214
2013-06-03 15:13:42 +02:00
Johannes Meyer ee63f3fbd8 Make Git ignore build/* and create it as needed.
refs #4068
refs #4070
refs #4098
refs #4099
2013-06-03 10:36:27 +02:00
Johannes Meyer 5118432b82 Add support for jshint reports.
Integrated style-checker for javascript source code.

refs #4098
2013-05-31 13:52:12 +02:00
Johannes Meyer 3544af245f Add support for javascript unittests.
Integrated test-runner for Mocha which covers
test-execution and code-coverage measurement.

refs #4099, refs #4087
2013-05-31 13:51:07 +02:00
Johannes Meyer 7ac78fe29d Add support for phpcs reports.
Integrated style-checker for php source code.

refs #4070
2013-05-31 13:48:14 +02:00
Johannes Meyer 4a92879a5a Add support for phpunit tests.
Integrated test-runner for phpunit which covers
test-execution and code-coverage measurement.

refs #4068, refs #4087
2013-05-31 13:47:15 +02:00