• last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Bring the implementation of the "Search" operation of the "auth_search" service contract in line with the operation's definition by correcting the returned value ("username" instead of "user_id") and restricting the search to the local authority.

Streamline idiom: we are only interested in the user ids

Comment deprecated proc, which was before defined as private, because of a false positive in acs-api-browser.callgraph__bad_library_calls: the "Authenticate" operation in the spec of auth::authentication::create_contract is mistakenly interpreted as the deprecated proc

Make proc public, as was intended

Deprecated trivial private ad_user_login wrapper, which is already a public api

Promote logics in auth::authentication::Authenticate to a public api, which unfortunately cannot be the same due to the inconsistent naming, hence we have to create a new alias

Rationale:

- the proc provides some value to the user by choosing the right contract implementation depending on the authority

- we found occurrences in other packages downstream, and as internally this proc is calling only public api, one could just duplicate the whole thing and be compliant with our standards, which is not an improvement IMO

- the proc was already tested and documented

  1. … 1 more file in changeset.
Mark 'auth::can_admin_system_without_authority_p' as public, as it is used in 'acs-admin'

Mark 'auth::authority::get_sc_impl_columns' as public, as it is used in 'acs-admin'

Make 'auth::get_register_authority' public, as it is used by acs-subsite

Make 'auth::verify_account_status' public, as it is used in other packages. Fixes 'callgraph__bad_page_calls' test case

Use the new 'url' and 'email' input type widgets

  1. … 1 more file in changeset.
Port of downstream logic: do not use a hardcoded list of local authorities, but rather check if the authority implementation is local, which would handle also other downstream local authorities

Rework the idiom to perform cheap checks first and improve documentation

Fix var name

Creating a user without a username is possible if the authority is local, include the test authority among those for which we generate a username, as it is also local as in "hosted locally"

Fixes acs-authentication.auth_use_email_for_login_p automated test

reduce public footprint

  1. … 1 more file in changeset.
fixed bug: exception in test case auth_use_email_for_login_p caused test to terminate

By adding an "ad_try", we can see that the intention to create

a user with no username failed. Probably this was working at some time,

not sure, if it still should.

This is could be a general problem with "aa_run_with_teardown" to

terminate too early in such cases.

    • -10
    • +18
    ./test/acs-authentication-procs.tcl
- Rework acs-api-browser.callgraph__bad_calls automated test so that acs-service-contract calling contract implementation is considered OK

- Reinstate authentication service contracts as private

- Move test authority implementation to acs-authentication to remove intra-package dependency

acs-api-browser.callgraph__bad_call still fails because proc acs-tcl.install::xml::action::create-user calls private acs-authentication.auth::local::registration::Register... to be continued

  1. … 2 more files in changeset.
file test-authority-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./test-authority-procs.tcl
Make api public, complies with acs-api-browser.graph__bad_calls automated test

  1. … 1 more file in changeset.
Make service contract implementation public

Complies with acs-api-browser.callgraph__bad_calls

improve listing of test coverage

    • -1
    • +27
    ./test/acs-authentication-procs.tcl
  1. … 16 more files in changeset.
make listing of tested procs more complete

    • -12
    • +30
    ./test/acs-authentication-procs.tcl
  1. … 17 more files in changeset.
whitespace changes

set default value only in case of failure

Care about the parameter cache after test case

Set a bunch of test cases to 'production_safe'

Merge 'auth_authority_api' and 'auth_authority_delete' test cases, covering almost the same api

    • -195
    • +122
    ./test/acs-authentication-procs.tcl
Fix typo

don't rely on uppercase header field names

  1. … 10 more files in changeset.
prefer db_0or1row +"where exists" over db_string + "select case"

  1. … 3 more files in changeset.