git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_SGD/tags/3.7.0.2_original@1 eb19766c-00d9-a042-a3a0-45cb8ec72764
182 lines
5.7 KiB
C#
182 lines
5.7 KiB
C#
using NUnit.Framework;
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace MonoTests.KnowledgeTree
|
|
{
|
|
[TestFixture]
|
|
public class DocumentMetadataTest : 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 GetDocumentTypesTest()
|
|
{
|
|
kt_document_types_response doc_types = this._kt.get_document_types(this._session);
|
|
Assert.AreEqual(0, doc_types.status_code);
|
|
}
|
|
|
|
[Test]
|
|
public void GetDocumentTypeMetadataTest()
|
|
{
|
|
|
|
kt_metadata_response metadata = this._kt.get_document_type_metadata(this._session, "Default");
|
|
Assert.AreEqual(0, metadata.status_code);
|
|
}
|
|
|
|
[Test]
|
|
public void GetDocumentMetadataTest()
|
|
{
|
|
|
|
kt_metadata_response metadata = this._kt.get_document_metadata(this._session, this._docId);
|
|
Assert.AreEqual(0, metadata.status_code);
|
|
}
|
|
|
|
[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 = "Category";
|
|
fs[0].fields[0].value = "Technical";
|
|
fs[0].fields[1] = new kt_metadata_field();
|
|
fs[0].fields[1].name = "Document Author";
|
|
fs[0].fields[1].value = "Joe Soap";
|
|
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[0];
|
|
|
|
kt_document_detail update_resp = this._kt.update_document_metadata(this._session, this._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);
|
|
|
|
|
|
}
|
|
|
|
[Test]
|
|
public void UpdateDocumentMetadataWithSpecialCharactersTest()
|
|
{
|
|
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 = "Tec/hn\\ical/";
|
|
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[0];
|
|
|
|
kt_document_detail update_resp = this._kt.update_document_metadata(this._session, this._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("Tec/hn\\ical/", 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);
|
|
}
|
|
|
|
[Test]
|
|
public void ProblemMetadataNoFieldSetTest()
|
|
{
|
|
kt_metadata_fieldset[] fs = new kt_metadata_fieldset[1];
|
|
fs[0] = new kt_metadata_fieldset();
|
|
fs[0].fieldset = "UnknownFieldset";
|
|
fs[0].fields = new kt_metadata_field[1];
|
|
fs[0].fields[0] = new kt_metadata_field();
|
|
fs[0].fields[0].name = "Document Author";
|
|
fs[0].fields[0].value = "Joe \\Soap";
|
|
|
|
kt_sysdata_item[] sysdata = new kt_sysdata_item[0];
|
|
|
|
kt_document_detail update_resp = this._kt.update_document_metadata(this._session, this._docId, fs, sysdata);
|
|
Assert.AreEqual(0, update_resp.status_code);
|
|
}
|
|
|
|
[Test]
|
|
public void ProblemMetadataNoFieldTest()
|
|
{
|
|
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[1];
|
|
fs[0].fields[0] = new kt_metadata_field();
|
|
fs[0].fields[0].name = "Document Owner";
|
|
fs[0].fields[0].value = "Joe \\Soap";
|
|
|
|
kt_sysdata_item[] sysdata = new kt_sysdata_item[0];
|
|
|
|
kt_document_detail update_resp = this._kt.update_document_metadata(this._session, this._docId, fs, sysdata);
|
|
Assert.AreEqual(0, update_resp.status_code);
|
|
}
|
|
|
|
}
|
|
}
|