Comments (12)
Yup, that did it, thanks!
from trellis-cassandra.
OK, this is not entirely unsurprising. Because WebDAV doesn't specify the semantics of POST, all resource creation occurs via PUT
(i.e. adding a file to a directory is a PUT
operation). However, Trellis assumes that PUT
for creation will do an uncontained creation of the resource. In order to combine those two patterns, the WebDAV module intercepts all PUT
requests for creation and rewrites those as POST
with an appropriate Slug
header. And thus, because these tests are checking for uncontained PUT, they will fail, since with the WebDAV module in place, an uncontained PUT is not possible.
One possibility that I've been considering anyway involves adding a configuration option such that the behavior of PUT-on-creation can be controlled to either do contained or uncontained creation. (In the past we had the contained PUT in place, but that was changed in 0.8)
from trellis-cassandra.
Ok, cool. That seems fine to me-- I mean we obviously have some design thinking, but this doesn't really represent an error right now. Do you know what the Memento involvement is?
from trellis-cassandra.
I wired the webdav module into the triplestore-based application, and I definitely see the test failure with testCreateContainerViaPut
. Curiously, I don't encounter the memento errors. All those errors seem to involve using PUT
to replace an LDP-NR. Can you verify that PUT
for replacing a binary resource works properly in T-C*?
from trellis-cassandra.
It certainly does not with WebDAV in place, for creating or replacing. Is that what you meant, or you meant without WebDAV?
from trellis-cassandra.
I meant: does it work properly without WebDAV enabled
But given that the tests were passing previously, I can only assume that the answer is "yes"
from trellis-cassandra.
Yes, those tests normally pass. 😁
from trellis-cassandra.
Would you like a PR to watch in CI?
from trellis-cassandra.
I wonder if this has anything to do with #55.
from trellis-cassandra.
Here is a branch.
from trellis-cassandra.
Definitely improvement: the four Memento tests pass for me now, but I am now getting:
[ERROR] Tests run: 8, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.498 s <<< FAILURE! - in edu.si.trellis.LdpBasicContainerIT
[ERROR] testCreateContainerViaPut Time elapsed: 0.004 s <<< ERROR!
java.lang.ExceptionInInitializerError
at org.trellisldp.test.LdpBasicContainerTests.testCreateContainerViaPut(LdpBasicContainerTests.java:210)
...
Caused by: java.lang.IllegalStateException: No ConfigProviderResolver implementation found!
at org.eclipse.microprofile.config.spi.ConfigProviderResolver.instance(ConfigProviderResolver.java:122)
at org.eclipse.microprofile.config.ConfigProvider.<clinit>(ConfigProvider.java:74)
... 42 more
You appear to have used the new configuration element there. I guess I now need to have a Microprofile Config impl on line for tests?
from trellis-cassandra.
Yes, you'll now need a microprofile config impl for the tests.
from trellis-cassandra.
Related Issues (20)
- Reuse Astyanax chunking?
- Thorntail trying IP6 before IP4 HOT 11
- Unable to configure in Docker Swarm via ENV vars HOT 86
- Duplication possible of the contains relationship HOT 64
- Full asynchrony HOT 2
- Activate Thorntail/WildFly Management API HOT 1
- Make reading bitstreams agnostic to chunk length HOT 2
- Move digest calculations to the C* node HOT 1
- Use HTTP information to set chunk length for binary persistence HOT 1
- Let consistency to Cassandra vary on a per-request basis
- Make Cassandra driver request timeout configurable
- Move documentation into GitHub wiki HOT 1
- Binary resource GET throws 500 (no logged error) HOT 52
- Replace .distinct() stream filtering with CQL HOT 40
- Direct Containers HOT 1
- Stronger Memento design HOT 1
- Upgrade Cassandra driver HOT 9
- Buffer RDF HOT 1
- Fail fast on startup in the absence of a Cassandra connection HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from trellis-cassandra.