summaryrefslogtreecommitdiff
path: root/vendor/syn/tests/test_attribute.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-15 16:37:08 -0600
committermo khan <mo@mokhan.ca>2025-07-17 16:30:22 -0600
commit45df4d0d9b577fecee798d672695fe24ff57fb1b (patch)
tree1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/syn/tests/test_attribute.rs
parentf94f79608393d4ab127db63cc41668445ef6b243 (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/syn/tests/test_attribute.rs')
-rw-r--r--vendor/syn/tests/test_attribute.rs229
1 files changed, 0 insertions, 229 deletions
diff --git a/vendor/syn/tests/test_attribute.rs b/vendor/syn/tests/test_attribute.rs
deleted file mode 100644
index a19dd0b3..00000000
--- a/vendor/syn/tests/test_attribute.rs
+++ /dev/null
@@ -1,229 +0,0 @@
-#![allow(
- clippy::elidable_lifetime_names,
- clippy::needless_lifetimes,
- clippy::uninlined_format_args
-)]
-
-#[macro_use]
-mod macros;
-
-use syn::parse::Parser;
-use syn::{Attribute, Meta};
-
-#[test]
-fn test_meta_item_word() {
- let meta = test("#[foo]");
-
- snapshot!(meta, @r#"
- Meta::Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_name_value() {
- let meta = test("#[foo = 5]");
-
- snapshot!(meta, @r#"
- Meta::NameValue {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- value: Expr::Lit {
- lit: 5,
- },
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_bool_value() {
- let meta = test("#[foo = true]");
-
- snapshot!(meta, @r#"
- Meta::NameValue {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- value: Expr::Lit {
- lit: Lit::Bool {
- value: true,
- },
- },
- }
- "#);
-
- let meta = test("#[foo = false]");
-
- snapshot!(meta, @r#"
- Meta::NameValue {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- value: Expr::Lit {
- lit: Lit::Bool {
- value: false,
- },
- },
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_list_lit() {
- let meta = test("#[foo(5)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`5`),
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_list_word() {
- let meta = test("#[foo(bar)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`bar`),
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_list_name_value() {
- let meta = test("#[foo(bar = 5)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`bar = 5`),
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_list_bool_value() {
- let meta = test("#[foo(bar = true)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`bar = true`),
- }
- "#);
-}
-
-#[test]
-fn test_meta_item_multiple() {
- let meta = test("#[foo(word, name = 5, list(name2 = 6), word2)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`word , name = 5 , list (name2 = 6) , word2`),
- }
- "#);
-}
-
-#[test]
-fn test_bool_lit() {
- let meta = test("#[foo(true)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "foo",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`true`),
- }
- "#);
-}
-
-#[test]
-fn test_negative_lit() {
- let meta = test("#[form(min = -1, max = 200)]");
-
- snapshot!(meta, @r#"
- Meta::List {
- path: Path {
- segments: [
- PathSegment {
- ident: "form",
- },
- ],
- },
- delimiter: MacroDelimiter::Paren,
- tokens: TokenStream(`min = - 1 , max = 200`),
- }
- "#);
-}
-
-fn test(input: &str) -> Meta {
- let attrs = Attribute::parse_outer.parse_str(input).unwrap();
-
- assert_eq!(attrs.len(), 1);
- let attr = attrs.into_iter().next().unwrap();
-
- attr.meta
-}