return test_CloseCluster_int(tctx, p, &Cluster);
}
+static bool test_GetClusterName_int(struct torture_context *tctx,
+ struct dcerpc_pipe *p,
+ const char **ClusterName)
+{
+ struct dcerpc_binding_handle *b = p->binding_handle;
+ struct clusapi_GetClusterName r;
+ const char *NodeName;
+
+ r.out.ClusterName = ClusterName;
+ r.out.NodeName = &NodeName;
+
+ torture_assert_ntstatus_ok(tctx,
+ dcerpc_clusapi_GetClusterName_r(b, tctx, &r),
+ "GetClusterName failed");
+ torture_assert_werr_ok(tctx,
+ r.out.result,
+ "GetClusterName failed");
+
+ return true;
+}
+
static bool test_SetClusterName(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
struct dcerpc_binding_handle *b = p->binding_handle;
struct clusapi_SetClusterName r;
+ const char *NewClusterName;
WERROR rpc_status;
- r.in.NewClusterName = "wurst";
+ torture_assert(tctx,
+ test_GetClusterName_int(tctx, p, &NewClusterName),
+ "failed to query old ClusterName");
+
+ r.in.NewClusterName = NewClusterName;
r.out.rpc_status = &rpc_status;
torture_assert_ntstatus_ok(tctx,
dcerpc_clusapi_SetClusterName_r(b, tctx, &r),
"SetClusterName failed");
- torture_assert_werr_ok(tctx,
+ torture_assert_werr_equal(tctx,
r.out.result,
+ WERR_RESOURCE_PROPERTIES_STORED,
"SetClusterName failed");
return true;
static bool test_GetClusterName(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
- struct dcerpc_binding_handle *b = p->binding_handle;
- struct clusapi_GetClusterName r;
const char *ClusterName;
- const char *NodeName;
-
- r.out.ClusterName = &ClusterName;
- r.out.NodeName = &NodeName;
- torture_assert_ntstatus_ok(tctx,
- dcerpc_clusapi_GetClusterName_r(b, tctx, &r),
- "GetClusterName failed");
- torture_assert_werr_ok(tctx,
- r.out.result,
- "GetClusterName failed");
-
- return true;
+ return test_GetClusterName_int(tctx, p, &ClusterName);
}
static bool test_GetClusterVersion(struct torture_context *tctx,