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

272 lines
9.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using NUnit.Framework;
using System;
using System.IO;
namespace MonoTests.KnowledgeTree
{
[TestFixture]
public class DocumentSystemMetadataTest : KTTest
{
private int _folderId;
private Document _doc1;
private Document _doc2;
[SetUp]
public void SetUp()
{
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,true);
}
[TearDown]
public void TearDown()
{
this._doc1.deleteFile();
this._doc2.deleteFile();
}
[Test]
public void UpdateDocumentMetadataTest()
{
kt_metadata_fieldset[] fs = new kt_metadata_fieldset[1];
fs[0] = new kt_metadata_fieldset();
fs[0].fieldset = "General information";
fs[0].fields = new kt_metadata_field[3];
fs[0].fields[0] = new kt_metadata_field();
fs[0].fields[0].name = "Document Author";
fs[0].fields[0].value = "Joe Soap";
fs[0].fields[1] = new kt_metadata_field();
fs[0].fields[1].name = "Category";
fs[0].fields[1].value = "Technical";
fs[0].fields[2] = new kt_metadata_field();
fs[0].fields[2].name = "Media Type";
fs[0].fields[2].value = "Text";
kt_sysdata_item[] sysdata = new kt_sysdata_item[3];
sysdata[0] = new kt_sysdata_item();
sysdata[0].name = "created_by";
sysdata[0].value = "Anonymous";
sysdata[1] = new kt_sysdata_item();
sysdata[1].name = "created_date";
sysdata[1].value = "2007-01-17";
sysdata[2] = new kt_sysdata_item();
sysdata[2].name = "modified_by";
sysdata[2].value = "admin";
kt_document_detail update_resp = this._kt.update_document_metadata(this._session, this._doc1.docId, fs, sysdata);
Assert.AreEqual(0, update_resp.status_code);
Assert.AreEqual("General information", update_resp.metadata[1].fieldset);
Assert.AreEqual("Category", update_resp.metadata[1].fields[1].name);
Assert.AreEqual("Technical", update_resp.metadata[1].fields[1].value);
Assert.AreEqual("Document Author", update_resp.metadata[1].fields[0].name);
Assert.AreEqual("Joe Soap", update_resp.metadata[1].fields[0].value);
Assert.AreEqual("Media Type", update_resp.metadata[1].fields[2].name);
Assert.AreEqual("Text", update_resp.metadata[1].fields[2].value);
Assert.AreEqual("Anonymous", update_resp.created_by);
Assert.AreEqual("2007-01-17 00:00:00", update_resp.created_date);
Assert.AreEqual("Administrator", update_resp.modified_by);
Assert.AreEqual("2007-01-17 00:00:00", update_resp.created_date);
}
[Test]
public void AddSmallDocumentWithMetadataTest()
{
kt_metadata_fieldset[] fs = new kt_metadata_fieldset[1];
fs[0] = new kt_metadata_fieldset();
fs[0].fieldset = "General information";
fs[0].fields = new kt_metadata_field[3];
fs[0].fields[0] = new kt_metadata_field();
fs[0].fields[0].name = "Document Author";
fs[0].fields[0].value = "Joe Soap";
fs[0].fields[1] = new kt_metadata_field();
fs[0].fields[1].name = "Category";
fs[0].fields[1].value = "Technical";
fs[0].fields[2] = new kt_metadata_field();
fs[0].fields[2].name = "Media Type";
fs[0].fields[2].value = "Text";
kt_sysdata_item[] sysdata = new kt_sysdata_item[2];
sysdata[0] = new kt_sysdata_item();
sysdata[0].name = "created_by";
sysdata[0].value = "Anonymous";
sysdata[1] = new kt_sysdata_item();
sysdata[1].name = "created_date";
sysdata[1].value = "2007-01-17";
this._doc2.local=false;
kt_document_detail update_resp = this._doc2.createFileWithMetadata(this._folderId, fs, sysdata);
Assert.AreEqual(0, update_resp.status_code);
Assert.AreEqual("General information", update_resp.metadata[1].fieldset);
Assert.AreEqual("Category", update_resp.metadata[1].fields[1].name);
Assert.AreEqual("Technical", update_resp.metadata[1].fields[1].value);
Assert.AreEqual("Document Author", update_resp.metadata[1].fields[0].name);
Assert.AreEqual("Joe Soap", update_resp.metadata[1].fields[0].value);
Assert.AreEqual("Media Type", update_resp.metadata[1].fields[2].name);
Assert.AreEqual("Text", update_resp.metadata[1].fields[2].value);
Assert.AreEqual("Anonymous", update_resp.created_by);
Assert.AreEqual("2007-01-17 00:00:00", update_resp.created_date);
}
[Test]
public void TestBadCharsInDocType()
{
kt_metadata_response resp = this._kt.get_document_type_metadata(this._session, "'''´`\"\"\\/:&;!.~,$%()|<>#=[]*?");
Assert.AreEqual(26, resp.status_code);
}
[Test]
public void CheckinSmallDocumentWithMetadataTest()
{
kt_metadata_fieldset[] fs = new kt_metadata_fieldset[1];
fs[0] = new kt_metadata_fieldset();
fs[0].fieldset = "General information";
fs[0].fields = new kt_metadata_field[3];
fs[0].fields[0] = new kt_metadata_field();
fs[0].fields[0].name = "Document Author";
fs[0].fields[0].value = "Joe Soap";
fs[0].fields[1] = new kt_metadata_field();
fs[0].fields[1].name = "Category";
fs[0].fields[1].value = "Technical";
fs[0].fields[2] = new kt_metadata_field();
fs[0].fields[2].name = "Media Type";
fs[0].fields[2].value = "Text";
kt_sysdata_item[] sysdata = new kt_sysdata_item[2];
sysdata[0] = new kt_sysdata_item();
sysdata[0].name = "created_by";
sysdata[0].value = "Anonymous";
sysdata[1] = new kt_sysdata_item();
sysdata[1].name = "created_date";
sysdata[1].value = "2007-01-17";
kt_document_detail resp = this._kt.checkout_base64_document(this._session, this._doc1.docId, "test checkin", false);
Assert.AreEqual(0, resp.status_code);
kt_document_detail update_resp = this._doc1.checkinFileWithMetadata(this._folderId, fs, sysdata);
Assert.AreEqual(0, update_resp.status_code);
Assert.AreEqual("General information", update_resp.metadata[1].fieldset);
Assert.AreEqual("Category", update_resp.metadata[1].fields[1].name);
Assert.AreEqual("Technical", update_resp.metadata[1].fields[1].value);
Assert.AreEqual("Document Author", update_resp.metadata[1].fields[0].name);
Assert.AreEqual("Joe Soap", update_resp.metadata[1].fields[0].value);
Assert.AreEqual("Media Type", update_resp.metadata[1].fields[2].name);
Assert.AreEqual("Text", update_resp.metadata[1].fields[2].value);
Assert.AreEqual("Anonymous", update_resp.created_by);
Assert.AreEqual("2007-01-17 00:00:00", update_resp.created_date);
}
//[Test]
public void AddDocumentWithMetadataTest()
{
kt_metadata_fieldset[] fs = new kt_metadata_fieldset[1];
fs[0] = new kt_metadata_fieldset();
fs[0].fieldset = "General information";
fs[0].fields = new kt_metadata_field[3];
fs[0].fields[0] = new kt_metadata_field();
fs[0].fields[0].name = "Document Author";
fs[0].fields[0].value = "Joe Soap";
fs[0].fields[1] = new kt_metadata_field();
fs[0].fields[1].name = "Category";
fs[0].fields[1].value = "Technical";
fs[0].fields[2] = new kt_metadata_field();
fs[0].fields[2].name = "Media Type";
fs[0].fields[2].value = "Text";
kt_sysdata_item[] sysdata = new kt_sysdata_item[3];
sysdata[0] = new kt_sysdata_item();
sysdata[0].name = "created_by";
sysdata[0].value = "Anonymous";
sysdata[1] = new kt_sysdata_item();
sysdata[1].name = "created_date";
sysdata[1].value = "2007-01-17";
sysdata[2] = new kt_sysdata_item();
sysdata[2].name = "index_content";
sysdata[2].value = "happy happy. this is a test with hippos and rhinos under the sun. unbrellas are required to create shade when trees are not abound.";
this._doc2.local = true;
this._doc2.createFile(this._folderId);
for (int i =0;i<1;i++)
{
FileUploader uploader = new FileUploader( );
uploader.upload(this._session, this._doc2.filename);
System.Console.WriteLine("uploaded: " + uploader.filename);
kt_document_detail response1 = this._kt.add_document_with_metadata(this._session, this._folderId, this._doc2.title+i, this._doc2.filename+i, "Default", uploader.filename,fs, sysdata);
Assert.AreEqual(0, response1.status_code);
}
}
[Test]
public void CheckinDocumentWithMetadataTest()
{
kt_metadata_fieldset[] fs = new kt_metadata_fieldset[1];
fs[0] = new kt_metadata_fieldset();
fs[0].fieldset = "General information";
fs[0].fields = new kt_metadata_field[3];
fs[0].fields[0] = new kt_metadata_field();
fs[0].fields[0].name = "Document Author";
fs[0].fields[0].value = "Joe Soap";
fs[0].fields[1] = new kt_metadata_field();
fs[0].fields[1].name = "Category";
fs[0].fields[1].value = "Technical";
fs[0].fields[2] = new kt_metadata_field();
fs[0].fields[2].name = "Media Type";
fs[0].fields[2].value = "Text";
kt_sysdata_item[] sysdata = new kt_sysdata_item[2];
sysdata[0] = new kt_sysdata_item();
sysdata[0].name = "created_by";
sysdata[0].value = "Anonymous";
sysdata[1] = new kt_sysdata_item();
sysdata[1].name = "created_date";
sysdata[1].value = "2007-01-17";
kt_document_detail resp = this._kt.checkout_base64_document(this._session, this._doc1.docId, "test checkin", false);
Assert.AreEqual(0, resp.status_code);
FileUploader uploader = new FileUploader( );
uploader.upload(this._session, this._doc1.filename);
kt_document_detail update_resp = this._kt.checkin_document(this._session, this._doc1.docId, this._doc1.filename, "unit test - doing checkin", uploader.filename, false);
Assert.AreEqual(0, update_resp.status_code);
}
}
}