92 Commits

Author SHA1 Message Date
Michael Pimmer
425f7fbd92
Adapt test and documentation to changes of '--develop' option
And re-activate cfg.get_config_paths() for easier testing

Signed-off-by: Michael Pimmer <info@fonfon.at>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-06-18 19:27:31 -04:00
Manish Tripathy
0932a07785
Apply new card based design
Signed-off-by: Manish Tripathy <manisht@thougtworks.com>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2018-06-18 20:18:37 +05:30
James Valleroy
2ea575806d
middleware: Skip 'installed' message for essential apps
Closes #1085.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-04-09 19:10:49 +05:30
Sunil Mohan Adapa
6bf5109108
Rename Plinth to FreedomBox in code messages
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-02-16 20:10:51 -05:00
Sunil Mohan Adapa
90f2117554
Rename Plinth to FreedomBox in comments
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-02-16 20:10:45 -05:00
Sunil Mohan Adapa
8f4811b350
Rename Plinth to FreedomBox in more module doc strings
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-02-16 20:10:31 -05:00
Sunil Mohan Adapa
dea4af17fb
Rename Plinth to FreedomBox in license headers
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-02-16 20:10:09 -05:00
Joseph Nuthalapati
b221e60575
Mark test_is_package_manager_busy as requires root
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-01-30 12:01:16 +05:30
Joseph Nuthalapati
9dae13ada5
actions: test case for is-package-manager-busy command
comments, import optimization and YAPF formatting.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-01-30 10:57:58 +05:30
Vikas Singh
5c83dea442
actions: Allow not printing error when an action fails
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-01-30 10:57:48 +05:30
Joseph Nuthalapati
dafd2f113e
Suppress unnecessary logging in cfg tests
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-14 08:51:02 -05:00
Sunil Mohan Adapa
acd248e506
clients: Cleanup framework
- Move all utilities to a separate clients.py module. Tests too.

- Use fewer custom template tags. Actually only one tag is really required.
  Keeping custom tags minimal is a goal.

- Merge the methods to generate app store URLs.

- Implement a validator for validating client information and use that instead
  of enums.

- Internationalize the text on template page.

- Add missing RPM package case.

- Cleanup CSS. Remove unused styles, minimize the styles set.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-13 18:56:30 -05:00
Joseph Nuthalapati
d3cddfa68c
Add icons for desktop applications and Apple App store.
- Add yapf style file for consistency of formatting
- Some minor changes and renaming
- Add template tag filters for checking conditions
- Move icons from img directory to icons directory

Currently the client listing is in both the SetupView and ServceView for ease of
development. Have to remove from ServiceView.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-04 12:15:03 -05:00
Sunil Mohan Adapa
e8601bf627
tests: Use a temporary directory for testing actions
This eliminates the case where the test module was getting installed in a
different location compared to other modules. Also eliminates the need to run
this test as root.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-11-04 15:30:18 -04:00
Joseph Nuthalpati
6b8745fd17
captcha: fix failing test
Fixed a test that failed because of fixing a django deprecation warning.
request.user.is_authenticated() method is replaced by the property
`is_authenticated`

Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-17 22:08:27 -04:00
Joseph Nuthalpati
ab235be2fc
captcha: fix tests failing to start
Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-17 22:08:17 -04:00
Joseph Nuthalpati
0a6e45f1cc
Remove print statement from tests
Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
2017-08-28 16:01:24 +05:30
Prachi
c8eb714562
Separate out the short description and app name
Signed-off-by: Prachi <prachi@swecha.net>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-08-21 11:17:08 +05:30
Joseph Nuthalpati
5ad180fcc9
Add Tahoe-LAFS module
- Created basic plinth app which starts an introducer and a storage
  node on the FreedomBox.
- Prompt user to set a domain name before creating Tahoe-LAFS nodes.
- Support adding and removing of introducers to the storage node.
- Serve Tahoe-LAFS from a different port.
- Start all nodes and introducers at system startup.
- Add utility class YAMLFile with test cases.
2017-06-10 09:38:57 -04:00
Joseph Nuthalpati
995365f3df
Add SSO using auth_pubtkt for 3 web apps
- Install mod_auth_pubtkt and generate public/private key-pair.

- Redirect user to login page if no cookie is presented.

- Add check for authenticated user for login page.

- Temporarily switched to DSA because of a bug in mod_auth_pubtkt
  which causes it to accept only DSA and not RSA. Also had to use SHA1
  instead of SHA256.

- Enabled SSO for Syncthing, Repro and TT-RSS.

- Using tokens to authorize by user groups.

- Generate keys during first boot.
2017-06-03 10:29:42 -04:00
Sunil Mohan Adapa
ee7cc98fee
apps, system: Remove modules and merge into main
- Remove apps and system modules and merge their views into main views.

- Move main_menu from cfg into menu.py.

- Remove dependencies of other modules on apps and system modules.

- Update tests.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-05-05 22:31:45 -04:00
Sunil Mohan Adapa
1f5f1e0460
utils: Write tests for checking is user admin
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-04-30 08:37:03 +05:30
Johannes Keyser
6c5953e8c2
utils: Fix test case failures due to caching (Closes: #813)
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-04-30 08:35:29 +05:30
Vignan Lavu
beb74526f3
networks: Fix failing network test 2017-04-10 14:58:23 +05:30
Sunil Mohan Adapa
4feb0c7a01
Complete tests and remove duplicate context information 2017-03-29 20:10:39 +05:30
Rahul De
3248c2573d
Hide apps and sys icons if user is not an admin 2017-03-29 19:12:11 +05:30
Sunil Mohan Adapa
3e8caab08a
middleware: Refactor tests to avoid repetition 2017-02-15 21:07:35 +05:30
Sunil Mohan Adapa
dd5ab7612e
Minor refactoring and lint fixes
- Rename AdminMiddleware to AdminRequiredMiddleware to be consistent
  with stronghold/Django terminology

- Simplify .gitignore pattern

- Format single line docstrings as per PEP8.

- Add missing docstrings.

- Restrict lines to 79 characters.
2017-02-15 21:07:27 +05:30
lispyclouds
3b23f78bdc
Implement middleware for admin views
- Add AdminMiddleware to deny non admin users
- Add decorator to mark views as "non admin"
2017-02-15 20:57:52 +05:30
Sunil Mohan Adapa
b7a974e326
setup: Fix an infinite redirect in a rare case
Don't try to show setup view for login page.  This happens under a rare
circumstance that user does not usually face.  If 'users' module has not
been setup but we try to run first boot and last part of the firstboot
process is not yet completed and when user is not already logged in, an
infinite redirect happens.

Simply don't try to show setup view for login URL under any
circumstance.  This is similar to how firstboot middleware itself does
not meddle with login URL.
2017-01-19 18:46:06 -05:00
fonfon
eda3488bea
Updated tests about accessing the setup page
- anonymous users should not be able to access the setup page
- registered should be able to do so
2016-12-28 19:35:11 -05:00
Sunil Mohan Adapa
dce51fd6d7
networks: Support configuring IPv6 networks
- Very similar to configuration of IPv4 networks.

- Supports 'auto', 'dhcp', 'manual' and 'ignored' modes as supported by
  network manager.  'shared' mode is not yet implemented by network
  manager.
2016-10-01 07:09:03 -04:00
Sunil Mohan Adapa
18996b5c56
Import urlresolvers from django.urls
In Django 1.10, django.core.urlresolvers is available from
django.urls. Use it.
2016-08-11 18:03:00 -04:00
Nikhil Rayaprolu
c0dc3ec8ca
modified network tests 2016-07-24 09:26:40 -04:00
Sunil Mohan Adapa
7a5167e6bd
tests: Minor PEP8 fixes 2016-06-19 16:20:07 -04:00
Sunil Mohan Adapa
ad61028a3a
menu: Sort menu items for all locales
Currently menu items are shown in alphabetical order in applications and
no clear order in system configuration.  This is done using static
weights for menu items based on English names that does not work for
other locales.

Sorting can't be done at the time of adding menu items as users of
multiple locales may use the interface at the same time.

Implement a sorting mechanism based on existing order as well as labels
of menu item.  This allows the flexiblity of grouping menu items in
future as it may be need for system configuration.  In case of help menu

Remove sort order for all modules except for help menu as here we want
that specific order.
2016-06-06 17:44:59 -04:00
Sunil Mohan Adapa
4986d26b5d
middleware: Add tests for setup middleware 2016-06-02 20:13:44 -04:00
Sunil Mohan Adapa
9078ec5a2b
Don't write to PID file
When running under systemd, PID is known and maintained by systemd.
Process don't have write PIDs to a PID file.
2016-05-29 21:07:07 +05:30
Sunil Mohan Adapa
082c5ee1ce
networks: Minor trimming to tests
- To focus only on what is being tested.
2016-02-09 09:35:14 +05:30
James Valleroy
1851b15836
networks: Fix tests, move settings to a dict 2016-02-09 09:35:01 +05:30
Sunil Mohan Adapa
a48068f775
Ability to localize brand name in templates
- Take the value from the configuration and run it throught the Django
  translate method and make it available in Context.

- Use a no-op translate method to translate the text 'FreedomBox'.
2016-01-24 00:22:26 +05:30
Sunil Mohan Adapa
0280d22c12 networks: Update tests for setting manual address 2015-12-23 10:09:49 +05:30
James Valleroy
1927eac06c Update network tests to work with added parameters. 2015-12-22 16:21:45 -05:00
Sunil Mohan Adapa
34ba546d9d config: Simplify tests
- Using the new configuration module changes meant for easy tests,
  simplify all test cases.

- Reading file is tested separately from find the configuration file.
2015-12-05 09:51:50 -05:00
Sunil Mohan Adapa
bbef41af7a Fix missing option in test configuration
Add danube_edition option to the Misc section of the configuration file.
Without this option, this 'missing section' test case will fail with
'missing option' instead of 'missing section'.  Coupled with the
unpredictable order of reading options, this only happens sometimes.
2015-12-05 09:51:50 -05:00
fonfon
125cb88336 Removed cfg.product_name entry and tests
The name 'Plinth' (cfg.product_name) is not used anymore after my previous
commits.
Reason for the complete removal: I do not think that users should know or have
to care about the internal name of the web interface of the FreedomBox.
2015-10-28 19:52:14 -04:00
Sunil Mohan Adapa
45fd4f2a53 Cleanup casting from values in cfg 2015-09-29 22:50:02 +05:30
fonfon
3d87c3eb3b Data types for cfg.py; add danube_edition entry
- Explicitly state datatype in config_items to handle them more
  generically

- Handle boolean values correctly.  Before this fix we got the string
  'False' which evaluated to True (this affected the entry
  'use_x_forwarded_host').

- Add the config entry 'danube_edition'. Activating it shows a voucher
  input field for pagekite accounts on freedombox.me during the
  firstboot process. Other vouchers (i.e. for VPN services) might
  follow.  Add description and test for 'danube_edition' setting.
2015-09-29 09:11:18 +05:30
Sunil Mohan Adapa
1e10fb76fc networks: Add test case for PPPoE
- Update ethernet and Wi-Fi tests to make sure interface name is
  properly set.
2015-08-22 20:18:51 +05:30
James Valleroy
e060960fed Also add IPv4 manual address test for wifi. 2015-07-29 22:29:01 -04:00