document_links.cs 1.92 KB
using NUnit.Framework;
using System;
using System.IO;

namespace MonoTests.KnowledgeTree
{


	[TestFixture]
	public class DocumentLinkTest
    	{
		private String 			_session;
		private KnowledgeTreeService 	_kt;
		private int 			_folderId;
		private bool			_verbose;
		private Document		_doc1;
		private Document		_doc2;


		[SetUp]
		public void SetUp()
		{
			this._kt = new KnowledgeTreeService();
			kt_response response = this._kt.login("admin","admin","127.0.0.1");
			this._session = response.message;

			this._folderId = 1;


			this._doc1 = new Document(1, this._session, this._kt, this._verbose, false);
			this._doc1.createFile(this._folderId);
			this._doc2 = new Document(2, this._session, this._kt, this._verbose, false);
			this._doc2.createFile(this._folderId);


			this._verbose = true;

		}

		[TearDown]
		public void TearDown()
		{
			this._doc1.deleteFile();
			this._doc2.deleteFile();

			this._kt.logout(this._session);

		}

		[Test]
		public void LinkingTest()
		{
			kt_linked_document_response linkresp = this._kt.get_document_links(this._session, this._doc1.docId);
			Assert.AreEqual(0, linkresp.status_code);
			Assert.AreEqual(null, linkresp.links);

			kt_response response = this._kt.link_documents(this._session, this._doc1.docId, this._doc2.docId, "Reference");
			Assert.AreEqual(0, response.status_code);

			linkresp = this._kt.get_document_links(this._session, this._doc1.docId);
			Assert.AreEqual(0, linkresp.status_code);
			Assert.AreEqual(this._doc1.docId, linkresp.parent_document_id);
			Assert.AreEqual(1, linkresp.links.Length);
			Assert.AreEqual(this._doc2.docId, linkresp.links[0].document_id);

			response = this._kt.unlink_documents(this._session, this._doc1.docId, this._doc2.docId);
			Assert.AreEqual(0, response.status_code);

			linkresp = this._kt.get_document_links(this._session, this._doc1.docId);
			Assert.AreEqual(0, linkresp.status_code);
			Assert.AreEqual(null, linkresp.links);

	    	}


	}
}