folder.cs 3.59 KB
using NUnit.Framework;
using System;
using System.IO;

namespace MonoTests.KnowledgeTree
{
	[TestFixture]
	public class FolderTest
    	{

		private String 			_session;
		private KnowledgeTreeService 	_kt;
		private int			_folder_id;
		private int			_subfolder_id;

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

		}

		[TearDown]
		public void TearDown()
		{

			this._kt.logout(this._session);
		}

		[Test]
		public void GetFolderDetail()
		{

			kt_folder_detail response = this._kt.get_folder_detail(this._session, 1);
			Assert.AreEqual(0, response.status_code);
			Assert.AreEqual(1, response.id);
			Assert.AreEqual("Root Folder", response.folder_name);
			Assert.AreEqual(0, response.parent_id);
			Assert.AreEqual("/Root Folder", response.full_path); // ??? DOESNT SEEM CONSISTENT - should be 'Root Filder'
    		}

		[Test]
		public void AddFolder()
		{

	    		kt_folder_detail response = this._kt.create_folder(this._session, 1, "kt_unit_test");
		       	Assert.AreEqual(0,response.status_code);

			this._folder_id = response.id;

	    		response = this._kt.create_folder(this._session, this._folder_id, "subfolder");
		       	Assert.AreEqual(0,response.status_code);

			this._subfolder_id = response.id;

	    	}

		[Test]
		public void GetFolderByName()
		{

			kt_folder_detail response = this._kt.get_folder_detail_by_name(this._session, "/kt_unit_test");
			Assert.AreEqual(0,response.status_code);
			Assert.AreEqual(this._folder_id, response.id);

			response = this._kt.get_folder_detail_by_name(this._session, "kt_unit_test");
			Assert.AreEqual(0,response.status_code);
			Assert.AreEqual(this._folder_id, response.id);

			response = this._kt.get_folder_detail_by_name(this._session, "kt_unit_test/subfolder");
			Assert.AreEqual(0,response.status_code);
			Assert.AreEqual(this._subfolder_id,response.id);

			response = this._kt.get_folder_detail_by_name(this._session, "kt_unit_test/subfolder2");
			Assert.IsFalse(response.status_code == 0);


    		}

		[Test]
		public void GetFolderContents()
		{

	    		kt_folder_contents response = this._kt.get_folder_contents(this._session, this._folder_id, 1, "DF");
			Assert.AreEqual(0,response.status_code);
			Assert.AreEqual(this._folder_id,response.folder_id);
			Assert.AreEqual("kt_unit_test", response.folder_name);
			Assert.AreEqual("Root Folder/kt_unit_test", response.full_path);

	    		kt_folder_contents response2 = this._kt.get_folder_contents(this._session, this._subfolder_id, 1, "DF");
			Assert.AreEqual(0, response2.status_code);
			Assert.AreEqual(this._subfolder_id, response2.folder_id);
			Assert.AreEqual("subfolder", response2.folder_name);
			Assert.AreEqual("Root Folder/kt_unit_test/subfolder", response2.full_path);
	    	}

		[Test]
		public void RenameFolder()
		{

	    		kt_response response = this._kt.rename_folder(this._session, this._subfolder_id, "subfolder2");
			Assert.AreEqual(0, response.status_code);

			kt_folder_detail response2 = this._kt.get_folder_detail(this._session, this._subfolder_id);
			Assert.AreEqual(0, response2.status_code);
			Assert.AreEqual(this._subfolder_id, response2.id);
			Assert.AreEqual("subfolder2", response2.folder_name);
			Assert.AreEqual(this._folder_id, response2.parent_id);
			Assert.AreEqual("Root Folder/kt_unit_test/subfolder2", response2.full_path);
	    	}

		[Test]
		public void RemoveFolder()
		{

	    		kt_response response = this._kt.delete_folder(this._session, this._folder_id, "unit testing remove");
			Assert.AreEqual(0, response.status_code);
	    	}

	}
}