Commit Graph

82 Commits

Author SHA1 Message Date
David Cook
7b965718aa Authorise based on user's UID
And test to make sure the wrong user is not selected.
2022-11-25 16:14:25 +11:00
David Cook
61e7b59437 Refactor spec
Ready to expand in the next commit.
2022-11-25 16:14:20 +11:00
David Cook
ff9544e08b Allow AuthorizationControl to run without Warden
As explained in 36c44a5487, it's not normally good to change production code to make testing easier.
But this tiny change makes it more robust, and enables much simpler specs.
2022-11-25 16:01:42 +11:00
Maikel Linke
029c0afaa9 Verify token signature for authenticated login
We were just logging in any user without password or other verification
before. Now we verify the Keycloak signature and know that the person is
indeed logged in.
2022-11-25 14:49:36 +11:00
Maikel Linke
33ee03388f Add DFC product update action, not implemented 2022-11-25 14:49:36 +11:00
Maikel Linke
4d49266f0f Allow updates just with auth token
Rails usually requires an additional CSRF protection token but when it's
not present we ignore the user's session and use only the OIDC auth
token.
2022-11-25 14:49:36 +11:00
Maikel Linke
aea6f864d9 Update to DFC v1.6
I just replaced dfc: with dfc-b: where I found this key used in the
prototype. We may need to change more.
2022-11-25 14:49:36 +11:00
Maikel Linke
4cdb224434 Add missing rdfs prefix to DFC context 2022-11-25 14:49:36 +11:00
Maikel Linke
8d6615aa6b Start to spec DFC auth control 2022-11-25 14:49:36 +11:00
Maikel Linke
b0aa7b7b55 Use Rspec's http matcher for better fail output
The previous version would just say that it expected true and got false.
The specific matcher tells us which code it expected and which code it
found.
2022-11-25 14:49:36 +11:00
Maikel Linke
c90d2c7f9a Spec DFC authorisation with real token
Our code doesn't actually verify the token yet but at least we are not
mocking it all anymore.
2022-11-25 14:49:36 +11:00
Maikel Linke
63c1cd7bff Remove invalid id attribute from DFC offer
This one is a bit confusing. The attribute changes throughout the
different versions of the ontology and the DFC examples are not in line
with the specification. WIP I guess.

The previous nil attribute failed JSON-LD validation and DFC examples
just contain the reference as I did it now. But I think that we will
need to update it again vor DFC-v1.7.
2022-11-25 14:49:36 +11:00
Maikel Linke
ee3ec15bc4 Update URL to DFC ontology 2022-11-25 14:49:36 +11:00
Maikel Linke
b9a43df7fe Include DFC version in API URL
And let the OFN app decide under which name to mount the DFC engine.
It simplifies the code and will make it more flexible to introduce other
versions in the future.
2022-11-25 14:49:36 +11:00
Maikel Linke
fd274447fe Simplify DFC authentication code 2022-11-25 14:49:36 +11:00
Maikel Linke
52a98989e0 Allow logged in users to access DFC API
It makes testing in development so much easier.
2022-11-25 14:49:36 +11:00
Maikel Linke
96193a27a4 Simplify DFC authorisation control
I want to add other ways to authenticate for easier testing and possibly
more integrations. It will be easier to just test if we got a user or
not instead of testing pre-conditions to that as well.
2022-11-25 14:49:36 +11:00
Maikel Linke
2630fde763 Update dfc_provider for Active Storage images 2022-11-25 14:49:36 +11:00
Maikel Linke
a501bc9687 Encapsulate dfc_provider in api routing
Move /api/v0/dfc_provider to /api/dfc_provider. Before it got redirected
to v0 which caused some errors.
2022-11-25 14:49:36 +11:00
Maikel Linke
e6b4f462ef Revert "Add rubocop config to allow specs to be 300 lines long"
This reverts commit 0b51d8b297.

I think that this config was complicated in the setup and potentially
confusing to have different rules in different places.

It's better to fix those spec files by either making them smaller or
removing the `module` block in the spec. We can reference the modules
explicitely where needed.
2022-02-25 12:05:04 +11:00
Andy Brett
c6743d8c6b Merge pull request #7800 from pacodelaluna/improve-dfc-logic
Improve DFC Provider logic to use existing business logic
2021-07-16 15:56:09 -07:00
François Turbelin
39bb25e959 Adjust supplied_products id before better data matching 2021-07-15 21:17:14 +02:00
François Turbelin
c4a7c05c05 Use check_enterprise filter in a better way 2021-07-14 14:59:19 +02:00
François Turbelin
155d05265d Use manually generated values to test urls 2021-07-14 14:24:10 +02:00
François Turbelin
9d1b059835 Fix typo in supplied_products_controller comment 2021-07-14 14:08:09 +02:00
François Turbelin
06c19641b4 Remove return on case 2021-06-22 20:44:51 +02:00
Luis Ramos
23627c5453 Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
9290 issues fixed
2021-06-17 22:19:26 +01:00
François Turbelin
7f0c5b8a7a Fix controller specs with be_successful 2021-06-17 09:43:17 +02:00
François Turbelin
bcd2790649 Fix failing spec 2021-06-17 09:18:05 +02:00
François Turbelin
7918c2f37c Cosmetics 2021-06-17 08:50:52 +02:00
François Turbelin
1ef7247311 Use a service to fetch variants in the engine 2021-06-17 08:50:52 +02:00
François Turbelin
235a2574dc Add spec for SuppliedProduct serializer 2021-06-17 08:50:52 +02:00
François Turbelin
4dc07d9872 Add spec for CatalogItem serializer 2021-06-17 08:50:52 +02:00
François Turbelin
a87c46843c Factorize serializer code into Base inherited class 2021-06-17 08:50:52 +02:00
François Turbelin
7ff69d5e6d Fix entreprise missing issue on Persons controller 2021-06-17 08:50:52 +02:00
François Turbelin
e86b6443f2 Add a comment to explain nesting on catalog_item 2021-04-05 20:38:19 +02:00
François Turbelin
bf4bb854b1 Change offeres_to to offers_to for method naming 2021-04-05 20:38:19 +02:00
François Turbelin
779241db7a Improve documentation 2021-04-05 20:38:19 +02:00
François Turbelin
11f1f6cff1 Add more onliner before in specs 2021-04-05 20:38:19 +02:00
François Turbelin
7ad6e1b76a Remove brakets for describe in specs 2021-04-05 20:38:19 +02:00
François Turbelin
d414122efd Rename check_entreprise to set_entreprise 2021-04-05 20:38:19 +02:00
Luis Ramos
c5186c2412 Fix rubocop_specs file path 2020-10-26 17:27:38 +00:00
Luis Ramos
0b51d8b297 Add rubocop config to allow specs to be 300 lines long 2020-10-26 17:03:50 +00:00
François Turbelin
52d82d0a96 Use not found instead of 404 for spec descriptions 2020-09-03 00:59:21 +02:00
François Turbelin
d11d67561f Remove extra delegation in serializers 2020-09-03 00:58:54 +02:00
François Turbelin
d2c147109d Use Persons instead of People 2020-09-03 00:56:42 +02:00
François Turbelin
b60c1c9003 Dry current_enterprise emtod with enterprise_id_param_name 2020-09-03 00:50:23 +02:00
François Turbelin
59fb2abc5d Fix inheritance issue with specs on Semaphore 2020-09-02 23:08:47 +02:00
François Turbelin
6508897e3d Introduce current_enterprise with memoization 2020-09-02 22:28:12 +02:00
François Turbelin
1baba5b61c Introduce current_user with memoization 2020-09-02 22:18:56 +02:00