Skip to content

Commit

Permalink
Only takes in rmq name for rabbitmqClusterReference
Browse files Browse the repository at this point in the history
- this makes sure that CRs need to be created in
the same namespace as their referenced RMQ cluster
  • Loading branch information
ChunyiLyu committed Mar 24, 2021
1 parent 9b10d40 commit c40e4c3
Show file tree
Hide file tree
Showing 43 changed files with 82 additions and 157 deletions.
12 changes: 4 additions & 8 deletions api/v1alpha1/binding_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ var _ = Describe("Binding spec", func() {
expectedSpec := BindingSpec{
Vhost: "/",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
}

Expand All @@ -31,8 +30,7 @@ var _ = Describe("Binding spec", func() {
},
Spec: BindingSpec{
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand Down Expand Up @@ -61,8 +59,7 @@ var _ = Describe("Binding spec", func() {
Raw: []byte(`{"argument":"argument-value"}`),
},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
},
},
}
Expand All @@ -80,8 +77,7 @@ var _ = Describe("Binding spec", func() {
Expect(fetchedBinding.Spec.RoutingKey).To(Equal("akey"))
Expect(fetchedBinding.Spec.RabbitmqClusterReference).To(Equal(
RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
}))
Expect(fetchedBinding.Spec.Arguments.Raw).To(Equal([]byte(`{"argument":"argument-value"}`)))
})
Expand Down
6 changes: 2 additions & 4 deletions api/v1alpha1/binding_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ var _ = Describe("Binding webhook", func() {
Destination: "test",
DestinationType: "queue",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: "default",
Name: "some-cluster",
},
},
}
Expand All @@ -35,8 +34,7 @@ var _ = Describe("Binding webhook", func() {
It("does not allow updates on RabbitmqClusterReference", func() {
newBinding := oldBinding.DeepCopy()
newBinding.Spec.RabbitmqClusterReference = RabbitmqClusterReference{
Name: "new-cluster",
Namespace: "default",
Name: "new-cluster",
}
Expect(apierrors.IsForbidden(newBinding.ValidateUpdate(&oldBinding))).To(BeTrue())
})
Expand Down
12 changes: 4 additions & 8 deletions api/v1alpha1/exchange_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ var _ = Describe("Exchange spec", func() {
AutoDelete: false,
Type: "direct",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
}

Expand All @@ -36,8 +35,7 @@ var _ = Describe("Exchange spec", func() {
Spec: ExchangeSpec{
Name: "test-exchange",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand Down Expand Up @@ -66,8 +64,7 @@ var _ = Describe("Exchange spec", func() {
Raw: []byte(`{"alternative-exchange":"alternative-name"}`),
},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
},
},
}
Expand All @@ -85,8 +82,7 @@ var _ = Describe("Exchange spec", func() {
Expect(fetchedExchange.Spec.AutoDelete).To(BeTrue())
Expect(fetchedExchange.Spec.RabbitmqClusterReference).To(Equal(
RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
}))
Expect(fetchedExchange.Spec.Arguments.Raw).To(Equal([]byte(`{"alternative-exchange":"alternative-name"}`)))
})
Expand Down
6 changes: 2 additions & 4 deletions api/v1alpha1/exchange_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ var _ = Describe("exchange webhook", func() {
Durable: false,
AutoDelete: true,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: "default",
Name: "some-cluster",
},
},
}
Expand All @@ -42,8 +41,7 @@ var _ = Describe("exchange webhook", func() {
It("does not allow updates on RabbitmqClusterReference", func() {
newExchange := exchange.DeepCopy()
newExchange.Spec.RabbitmqClusterReference = RabbitmqClusterReference{
Name: "new-cluster",
Namespace: "default",
Name: "new-cluster",
}
Expect(apierrors.IsForbidden(newExchange.ValidateUpdate(&exchange))).To(BeTrue())
})
Expand Down
15 changes: 5 additions & 10 deletions api/v1alpha1/policy_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ var _ = Describe("Policy", func() {
Raw: []byte(`{"key":"value"}`),
},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand All @@ -41,8 +40,7 @@ var _ = Describe("Policy", func() {
Namespace: policy.Namespace,
}, fetched)).To(Succeed())
Expect(fetched.Spec.RabbitmqClusterReference).To(Equal(RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
}))
Expect(fetched.Spec.Name).To(Equal("test-policy"))
Expect(fetched.Spec.Vhost).To(Equal("/"))
Expand All @@ -68,8 +66,7 @@ var _ = Describe("Policy", func() {
Raw: []byte(`{"key":"value"}`),
},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
},
},
}
Expand All @@ -87,8 +84,7 @@ var _ = Describe("Policy", func() {
Expect(fetched.Spec.Priority).To(Equal(100))
Expect(fetched.Spec.RabbitmqClusterReference).To(Equal(
RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
}))
Expect(fetched.Spec.Definition.Raw).To(Equal([]byte(`{"key":"value"}`)))
})
Expand All @@ -108,8 +104,7 @@ var _ = Describe("Policy", func() {
},
ApplyTo: "yo-yo",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand Down
6 changes: 2 additions & 4 deletions api/v1alpha1/policy_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ var _ = Describe("policy webhook", func() {
ApplyTo: "all",
Priority: 0,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "a-cluster",
Namespace: "default",
Name: "a-cluster",
},
},
}
Expand All @@ -41,8 +40,7 @@ var _ = Describe("policy webhook", func() {
It("does not allow updates on RabbitmqClusterReference", func() {
newPolicy := policy.DeepCopy()
newPolicy.Spec.RabbitmqClusterReference = RabbitmqClusterReference{
Name: "new-cluster",
Namespace: "default",
Name: "new-cluster",
}
Expect(apierrors.IsForbidden(newPolicy.ValidateUpdate(&policy))).To(BeTrue())
})
Expand Down
2 changes: 0 additions & 2 deletions api/v1alpha1/queue_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ type QueueSpec struct {
type RabbitmqClusterReference struct {
// +kubebuilder:validation:Required
Name string `json:"name"`
// +kubebuilder:validation:Required
Namespace string `json:"namespace"`
}

// QueueStatus defines the observed state of Queue
Expand Down
12 changes: 4 additions & 8 deletions api/v1alpha1/queue_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ var _ = Describe("Queue spec", func() {
Durable: false,
AutoDelete: false,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
}

Expand All @@ -35,8 +34,7 @@ var _ = Describe("Queue spec", func() {
Spec: QueueSpec{
Name: "test-queue",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand Down Expand Up @@ -65,8 +63,7 @@ var _ = Describe("Queue spec", func() {
Raw: []byte(`{"yoyo":10}`),
},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
},
},
}
Expand All @@ -84,8 +81,7 @@ var _ = Describe("Queue spec", func() {
Expect(fetchedQ.Spec.AutoDelete).To(BeTrue())
Expect(fetchedQ.Spec.RabbitmqClusterReference).To(Equal(
RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
}))
Expect(fetchedQ.Spec.Arguments.Raw).To(Equal([]byte(`{"yoyo":10}`)))
})
Expand Down
6 changes: 2 additions & 4 deletions api/v1alpha1/queue_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ var _ = Describe("queue webhook", func() {
Durable: false,
AutoDelete: true,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: "default",
Name: "some-cluster",
},
},
}
Expand All @@ -41,8 +40,7 @@ var _ = Describe("queue webhook", func() {
It("does not allow updates on RabbitmqClusterReference", func() {
newQueue := queue.DeepCopy()
newQueue.Spec.RabbitmqClusterReference = RabbitmqClusterReference{
Name: "new-cluster",
Namespace: "default",
Name: "new-cluster",
}
Expect(apierrors.IsForbidden(newQueue.ValidateUpdate(&queue))).To(BeTrue())
})
Expand Down
12 changes: 4 additions & 8 deletions api/v1alpha1/user_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ var _ = Describe("user spec", func() {
},
Spec: UserSpec{
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand All @@ -36,8 +35,7 @@ var _ = Describe("user spec", func() {
Namespace: user.Namespace,
}, fetcheduser)).To(Succeed())
Expect(fetcheduser.Spec.RabbitmqClusterReference).To(Equal(RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
}))
Expect(len(fetcheduser.Spec.Tags)).To(Equal(0))
})
Expand All @@ -58,8 +56,7 @@ var _ = Describe("user spec", func() {
Name: "secret-name",
},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand All @@ -77,8 +74,7 @@ var _ = Describe("user spec", func() {
Namespace: user.Namespace,
}, fetchedUser)).To(Succeed())
Expect(fetchedUser.Spec.RabbitmqClusterReference).To(Equal(RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
}))
Expect(fetchedUser.Spec.ImportCredentialsSecret.Name).To(Equal("secret-name"))
Expect(fetchedUser.Spec.Tags).To(Equal([]UserTag{"policymaker", "monitoring"}))
Expand Down
6 changes: 2 additions & 4 deletions api/v1alpha1/user_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,15 @@ var _ = Describe("user webhook", func() {
Spec: UserSpec{
Tags: []UserTag{"policymaker"},
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "a-cluster",
Namespace: "default",
Name: "a-cluster",
},
},
}

It("does not allow updates on RabbitmqClusterReference", func() {
new := user.DeepCopy()
new.Spec.RabbitmqClusterReference = RabbitmqClusterReference{
Name: "new-cluster",
Namespace: "default",
Name: "new-cluster",
}
Expect(apierrors.IsForbidden(new.ValidateUpdate(&user))).To(BeTrue())
})
Expand Down
12 changes: 4 additions & 8 deletions api/v1alpha1/vhost_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ var _ = Describe("Vhost", func() {
Name: "test-vhost",
Tracing: false,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
}

Expand All @@ -32,8 +31,7 @@ var _ = Describe("Vhost", func() {
Spec: VhostSpec{
Name: "test-vhost",
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "some-cluster",
Namespace: namespace,
Name: "some-cluster",
},
},
}
Expand All @@ -56,8 +54,7 @@ var _ = Describe("Vhost", func() {
Name: "vhost-with-tracing",
Tracing: true,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "random-cluster",
Namespace: namespace,
Name: "random-cluster",
},
},
}
Expand All @@ -71,8 +68,7 @@ var _ = Describe("Vhost", func() {
Expect(fetched.Spec.Tracing).To(BeTrue())
Expect(fetched.Spec.Name).To(Equal("vhost-with-tracing"))
Expect(fetched.Spec.RabbitmqClusterReference).To(Equal(RabbitmqClusterReference{
Name: "random-cluster",
Namespace: "default",
Name: "random-cluster",
}))
})
})
6 changes: 2 additions & 4 deletions api/v1alpha1/vhost_webhook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ var _ = Describe("vhost webhook", func() {
Name: "test",
Tracing: false,
RabbitmqClusterReference: RabbitmqClusterReference{
Name: "a-cluster",
Namespace: "default",
Name: "a-cluster",
},
},
}
Expand All @@ -32,8 +31,7 @@ var _ = Describe("vhost webhook", func() {
It("does not allow updates on RabbitmqClusterReference", func() {
newVhost := vhost.DeepCopy()
newVhost.Spec.RabbitmqClusterReference = RabbitmqClusterReference{
Name: "new-cluster",
Namespace: "default",
Name: "new-cluster",
}
Expect(apierrors.IsForbidden(newVhost.ValidateUpdate(&vhost))).To(BeTrue())
})
Expand Down
3 changes: 0 additions & 3 deletions config/crd/bases/rabbitmq.com_bindings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,8 @@ spec:
properties:
name:
type: string
namespace:
type: string
required:
- name
- namespace
type: object
routingKey:
type: string
Expand Down

0 comments on commit c40e4c3

Please sign in to comment.