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_add.cs

216 lines
6.6 KiB
C#

using NUnit.Framework;
using System;
using System.IO;
namespace MonoTests.KnowledgeTree
{
[TestFixture]
public class AddDocumentTest : KTTest
{
private int _docId;
private int _folderId;
private String _filename;
private String _content;
public AddDocumentTest() : base()
{
this._folderId = 1;
}
[SetUp]
public void SetUp()
{
this._filename = Helper.isUnix()?"/tmp/kt_unit_test1.txt":"c:\\kt_unit_test1.txt";
this._content = "hello world!";
Helper.writeFile(this._filename, this._content); }
[TearDown]
public void TearDown()
{
Helper.deleteFile(this._filename);
}
[Test]
public void FindDocumentBeforeAdd()
{
String filename = "Root Folder/kt test folder/kt unit test1";
if (this._verbose) System.Console.WriteLine("Finding document before add: " + filename);
kt_document_detail documentDetail = this._kt.get_document_detail_by_title(this._session, 1, filename, "");
if (0 == documentDetail.status_code)
{
if (this._verbose) System.Console.WriteLine("Found document - deleting");
kt_response response = this._kt.delete_document(this._session, documentDetail.document_id, "Delete - cleaning up before add");
Assert.AreEqual(0, response.status_code);
}
else if (this._verbose)
{
System.Console.WriteLine("document not found. that is ok!");
}
}
[Test]
public void FindFolderBeforeAdd()
{
String folder = "Root Folder/kt test folder";
if (this._verbose) System.Console.WriteLine("Finding folder before add: " + folder);
kt_folder_detail folderDetail = this._kt.get_folder_detail_by_name(this._session, folder);
if (0 == folderDetail.status_code)
{
if (this._verbose) System.Console.WriteLine("Found folder - deleting");
kt_response response = this._kt.delete_folder(this._session, folderDetail.id, "Delete - cleaning up before add");
Assert.AreEqual(0, response.status_code);
}
else
{
if (this._verbose) System.Console.WriteLine("folder not found. that is ok!");
}
}
[Test]
public void AddDocument()
{
String folder = "kt test folder";
if (this._verbose) System.Console.WriteLine("Creating folder : " + folder);
kt_folder_detail folderDetail = this._kt.create_folder(this._session, 1, folder);
this._folderId = folderDetail.id;
if (this._verbose) System.Console.WriteLine("Got folder id : " + this._folderId);
String filename = "kt unit test1";
if (this._verbose) System.Console.WriteLine("Adding document : " + filename);
kt_document_detail response1 = this._kt.add_base64_document(this._session, this._folderId, filename, this._filename, "Default", Helper.ConvertFileToBase64Encoding(this._filename));
Assert.AreEqual(0, response1.status_code);
Assert.AreEqual("kt unit test1", response1.title);
Assert.AreEqual("Default", response1.document_type);
Assert.AreEqual(0.1, response1.version);
Assert.AreEqual("kt_unit_test1.txt", response1.filename);
Assert.IsFalse(response1.created_date == null);
Assert.IsFalse(response1.created_date == "");
Assert.AreEqual("Administrator", response1.created_by);
//Assert.IsTrue(response1.updated_date == null);
Assert.IsTrue("" != response1.modified_date);
Assert.AreEqual("Administrator", response1.modified_by);
Assert.IsTrue(response1.document_id > 0);
Assert.AreEqual(this._folderId, response1.folder_id);
Assert.AreEqual("n/a",response1.workflow);
Assert.AreEqual("n/a",response1.workflow_state);
Assert.AreEqual("/" + folder + "/kt unit test1", response1.full_path);
this._docId = response1.document_id;
}
[Test]
public void FindDocumentBeforeDelete()
{
if (this._verbose) System.Console.WriteLine("Find document before delete");
kt_document_detail documentDetail = this._kt.get_document_detail_by_name(this._session, 1, "Root Folder/kt test folder/kt unit test1", "T","");
Assert.AreEqual(0, documentDetail.status_code);
Assert.AreEqual(this._docId, documentDetail.document_id);
if (this._verbose) System.Console.WriteLine("Find document before delete without the Root Folder's explicit naming");
documentDetail = this._kt.get_document_detail_by_title(this._session, 1, "/kt test folder/kt unit test1", "");
Assert.AreEqual(0, documentDetail.status_code);
Assert.AreEqual(this._docId, documentDetail.document_id);
}
[Test]
public void DeleteDocument()
{
if (this._verbose) System.Console.WriteLine("Deleting document");
kt_response response = this._kt.delete_document(this._session, this._docId, "Delete - cleaning up after add");
Assert.AreEqual(0, response.status_code);
}
[Test]
public void FindDocumentAfterDelete()
{
if (this._verbose) System.Console.WriteLine("Checking that document is gone!");
kt_document_detail documentDetail = this._kt.get_document_detail_by_title(this._session, 1, "Root Folder/kt test folder/kt unit test1", "");
Assert.IsTrue(0 != documentDetail.status_code);
}
[Test]
public void Add2PhaseDocument()
{
String filename = "kt unit test31";
if (this._verbose) System.Console.WriteLine("Adding document : " + filename);
FileUploader uploader = new FileUploader();
uploader.upload(this._session, this._filename);
String tempname = uploader.getFilename();
kt_document_detail response1 = this._kt.add_document(this._session, this._folderId, filename, this._filename, "Default", tempname);
Assert.AreEqual(0, response1.status_code);
Assert.AreEqual(filename, response1.title);
Assert.AreEqual("Default", response1.document_type);
Assert.AreEqual(0.1, response1.version);
Assert.AreEqual("kt_unit_test1.txt", response1.filename);
Assert.IsFalse(response1.created_date == null);
Assert.IsFalse(response1.created_date == "");
Assert.AreEqual("Administrator", response1.created_by);
//Assert.IsTrue(response1.modified_date == null);
Assert.IsTrue("" != response1.modified_date);
Assert.AreEqual("Administrator", response1.modified_by);
Assert.IsTrue(response1.document_id > 0);
Assert.AreEqual(this._folderId, response1.folder_id);
Assert.AreEqual("n/a",response1.workflow);
Assert.AreEqual("n/a",response1.workflow_state);
this._docId = response1.document_id;
kt_response response = this._kt.delete_document(this._session, this._docId, "Delete - cleaning up after add");
Assert.AreEqual(0, response.status_code);
}
[Test]
public void DropFolder()
{
if (this._verbose) System.Console.WriteLine("Drop Folder!");
kt_response documentDetail = this._kt.delete_folder(this._session, this._folderId, "delete - cleaning up");
Assert.AreEqual(0, documentDetail.status_code);
}
}
}