This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Incam_SGD/ktwebservice/nunit/document_checkout.cs

121 lines
3.7 KiB
C#

using NUnit.Framework;
using System;
using System.IO;
namespace MonoTests.KnowledgeTree
{
[TestFixture]
public class CheckoutDocumentTest : KTTest
{
private int _docId;
private int _folderId;
private String _filename;
private String _content;
[SetUp]
public void SetUp()
{
this._filename = Helper.isUnix()?"/tmp/kt_unit_test1.txt":"c:\\kt_unit_test1.txt";
String filename = "kt unit test1";
this._content = "hello world!";
Helper.writeFile(this._filename, this._content);
this._folderId = 1;
kt_document_detail response1 = this._kt.add_base64_document(this._session, this._folderId, filename, this._filename, "Default", Helper.ConvertFileToBase64Encoding(this._filename));
if (this._verbose && response1.status_code != 0)
{
System.Console.WriteLine("Could not create file: " + this._filename);
}
this._docId = response1.document_id;
}
[TearDown]
public void TearDown()
{
Helper.deleteFile(this._filename);
kt_response response = this._kt.delete_document(this._session, this._docId, "Delete - cleaning up");
if (this._verbose && response.status_code != 0)
{
System.Console.WriteLine("Could not delete file: " + this._filename);
}
}
[Test]
public void CheckoutDocument()
{
String filename = "kt unit test1";
if (this._verbose) System.Console.WriteLine("Checking out document : " + filename);
kt_document_detail response = this._kt.checkout_base64_document(this._session, this._docId, "unit test - going to checkout and then undo", false);
Assert.AreEqual(0, response.status_code);
Assert.AreEqual("Administrator",response.checked_out_by);
Assert.IsTrue(null != response.checked_out_date);
response = this._kt.undo_document_checkout(this._session, this._docId, "unit test - doing undo");
Assert.AreEqual(0, response.status_code);
Assert.AreEqual("n/a",response.checked_out_by);
Assert.AreEqual("n/a", response.checked_out_date);
}
[Test]
public void CheckinDocument()
{
String filename = "kt unit test1";
if (this._verbose) System.Console.WriteLine("Checking out document : " + filename);
kt_document_detail response = this._kt.checkout_base64_document(this._session, this._docId, "unit test - going to checkout and then checkin", false);
Assert.AreEqual(0, response.status_code);
Assert.AreEqual("Administrator",response.checked_out_by);
Assert.IsTrue(null != response.checked_out_date);
kt_document_detail checkin = this._kt.checkin_base64_document(this._session, this._docId, filename, "unit test - doing checkin", Helper.ConvertFileToBase64Encoding(this._filename), false);
Assert.AreEqual(0, checkin.status_code);
Assert.AreEqual("n/a",checkin.checked_out_by);
Assert.AreEqual("n/a", checkin.checked_out_date);
}
[Test]
public void Checkin2PhaseDocument()
{
String filename = "kt unit test1";
if (this._verbose) System.Console.WriteLine("Checking out document : " + filename);
kt_document_detail response = this._kt.checkout_document(this._session, this._docId, "unit test - going to checkout and then checkin", false);
Assert.AreEqual(0, response.status_code);
Assert.AreEqual("Administrator",response.checked_out_by);
Assert.IsTrue(null != response.checked_out_date);
FileUploader uploader = new FileUploader();
uploader.upload(this._session, this._filename);
String tempname = uploader.getFilename();
kt_document_detail checkin = this._kt.checkin_document(this._session, this._docId, filename, "unit test - doing checkin", tempname, false);
Assert.AreEqual(0, checkin.status_code);
Assert.AreEqual("n/a",checkin.checked_out_by);
Assert.AreEqual("n/a", checkin.checked_out_date);
}
}
}