diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-15 16:37:08 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-17 16:30:22 -0600 |
| commit | 45df4d0d9b577fecee798d672695fe24ff57fb1b (patch) | |
| tree | 1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/bytes/tests/test_take.rs | |
| parent | f94f79608393d4ab127db63cc41668445ef6b243 (diff) | |
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based
authorization system with SpiceDB's relation-based authorization.
Key changes:
- Migrate from Rust to Go implementation
- Replace Cedar policies with SpiceDB schema and relationships
- Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks
- Update build system and dependencies for Go ecosystem
- Maintain Envoy integration for external authorization
This change enables more flexible permission modeling through SpiceDB's
Google Zanzibar inspired relation-based system, supporting complex
hierarchical permissions that were difficult to express in Cedar.
Breaking change: Existing Cedar policies and Rust-based configuration
will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/bytes/tests/test_take.rs')
| -rw-r--r-- | vendor/bytes/tests/test_take.rs | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/vendor/bytes/tests/test_take.rs b/vendor/bytes/tests/test_take.rs deleted file mode 100644 index 0c0159be..00000000 --- a/vendor/bytes/tests/test_take.rs +++ /dev/null @@ -1,84 +0,0 @@ -#![warn(rust_2018_idioms)] - -use bytes::buf::Buf; -use bytes::Bytes; - -#[test] -fn long_take() { - // Tests that get a take with a size greater than the buffer length will not - // overrun the buffer. Regression test for #138. - let buf = b"hello world".take(100); - assert_eq!(11, buf.remaining()); - assert_eq!(b"hello world", buf.chunk()); -} - -#[test] -fn take_copy_to_bytes() { - let mut abcd = Bytes::copy_from_slice(b"abcd"); - let abcd_ptr = abcd.as_ptr(); - let mut take = (&mut abcd).take(2); - let a = take.copy_to_bytes(1); - assert_eq!(Bytes::copy_from_slice(b"a"), a); - // assert `to_bytes` did not allocate - assert_eq!(abcd_ptr, a.as_ptr()); - assert_eq!(Bytes::copy_from_slice(b"bcd"), abcd); -} - -#[test] -#[should_panic] -fn take_copy_to_bytes_panics() { - let abcd = Bytes::copy_from_slice(b"abcd"); - abcd.take(2).copy_to_bytes(3); -} - -#[cfg(feature = "std")] -#[test] -fn take_chunks_vectored() { - fn chain() -> impl Buf { - Bytes::from([1, 2, 3].to_vec()).chain(Bytes::from([4, 5, 6].to_vec())) - } - - { - let mut dst = [std::io::IoSlice::new(&[]); 2]; - let take = chain().take(0); - assert_eq!(take.chunks_vectored(&mut dst), 0); - } - - { - let mut dst = [std::io::IoSlice::new(&[]); 2]; - let take = chain().take(1); - assert_eq!(take.chunks_vectored(&mut dst), 1); - assert_eq!(&*dst[0], &[1]); - } - - { - let mut dst = [std::io::IoSlice::new(&[]); 2]; - let take = chain().take(3); - assert_eq!(take.chunks_vectored(&mut dst), 1); - assert_eq!(&*dst[0], &[1, 2, 3]); - } - - { - let mut dst = [std::io::IoSlice::new(&[]); 2]; - let take = chain().take(4); - assert_eq!(take.chunks_vectored(&mut dst), 2); - assert_eq!(&*dst[0], &[1, 2, 3]); - assert_eq!(&*dst[1], &[4]); - } - - { - let mut dst = [std::io::IoSlice::new(&[]); 2]; - let take = chain().take(6); - assert_eq!(take.chunks_vectored(&mut dst), 2); - assert_eq!(&*dst[0], &[1, 2, 3]); - assert_eq!(&*dst[1], &[4, 5, 6]); - } - - { - let mut dst = [std::io::IoSlice::new(&[]); 2]; - let take = chain().take(7); - assert_eq!(take.chunks_vectored(&mut dst), 2); - assert_eq!(&*dst[0], &[1, 2, 3]); - assert_eq!(&*dst[1], &[4, 5, 6]); - } -} |
