public void TestComputeNodeCertificateReferencesAreReadOnly() { using (BatchClient batchClient = ClientUnitTestCommon.CreateDummyClient()) { var protoComputeNode = new Protocol.Models.ComputeNode() { CertificateReferences = new List <Protocol.Models.CertificateReference> { new Protocol.Models.CertificateReference( thumbprint: "1234", thumbprintAlgorithm: "SHA1", storeLocation: Protocol.Models.CertificateStoreLocation.CurrentUser, storeName: "My", visibility: new List <Protocol.Models.CertificateVisibility> { Protocol.Models.CertificateVisibility.Task }) } }; ComputeNode computeNode = batchClient.PoolOperations.GetComputeNode( "dummy", "dummy", additionalBehaviors: InterceptorFactory.CreateGetComputeNodeRequestInterceptor(protoComputeNode)); CertificateReference computeNodeCertificateReference = computeNode.CertificateReferences.First(); // reads are allowed this.testOutputHelper.WriteLine("{0}", computeNodeCertificateReference.StoreLocation); this.testOutputHelper.WriteLine("{0}", computeNodeCertificateReference.StoreName); this.testOutputHelper.WriteLine("{0}", computeNodeCertificateReference.Thumbprint); this.testOutputHelper.WriteLine("{0}", computeNodeCertificateReference.ThumbprintAlgorithm); this.testOutputHelper.WriteLine("{0}", computeNodeCertificateReference.Visibility); // writes are foribdden Assert.Throws <InvalidOperationException>(() => { computeNodeCertificateReference.StoreLocation = CertStoreLocation.CurrentUser; }); Assert.Throws <InvalidOperationException>(() => { computeNodeCertificateReference.StoreName = "x"; }); Assert.Throws <InvalidOperationException>(() => { computeNodeCertificateReference.Thumbprint = "y"; }); Assert.Throws <InvalidOperationException>(() => { computeNodeCertificateReference.ThumbprintAlgorithm = "z"; }); Assert.Throws <InvalidOperationException>(() => { computeNodeCertificateReference.Visibility = CertificateVisibility.None; }); } }