Initial vibecoded proof of concept
This commit is contained in:
parent
74812459af
commit
461318a656
61 changed files with 13306 additions and 0 deletions
129
tests/integration/test_document_indexing.lua
Normal file
129
tests/integration/test_document_indexing.lua
Normal file
|
@ -0,0 +1,129 @@
|
|||
-- Integration tests for document indexing workflow
|
||||
local busted = require('busted')
|
||||
|
||||
describe("Document Indexing Workflow Integration", function()
|
||||
local indexer
|
||||
|
||||
before_each(function()
|
||||
-- These modules don't exist yet - tests should fail
|
||||
indexer = require('notex.index')
|
||||
end)
|
||||
|
||||
it("should index markdown files with YAML headers", function()
|
||||
local test_files = {
|
||||
"/tmp/test_doc1.md",
|
||||
"/tmp/test_doc2.md"
|
||||
}
|
||||
|
||||
-- Create test markdown files
|
||||
local file1 = io.open(test_files[1], "w")
|
||||
file1:write([[
|
||||
---
|
||||
title: "Test Document 1"
|
||||
status: "draft"
|
||||
priority: "high"
|
||||
tags: ["test", "urgent"]
|
||||
---
|
||||
# Test Document 1
|
||||
|
||||
This is a test document with YAML header.
|
||||
]])
|
||||
file1:close()
|
||||
|
||||
local file2 = io.open(test_files[2], "w")
|
||||
file2:write([[
|
||||
---
|
||||
title: "Test Document 2"
|
||||
status: "review"
|
||||
priority: "medium"
|
||||
tags: ["test", "review"]
|
||||
---
|
||||
# Test Document 2
|
||||
|
||||
Another test document.
|
||||
]])
|
||||
file2:close()
|
||||
|
||||
-- Index the documents
|
||||
local result = indexer.index_documents("/tmp")
|
||||
|
||||
assert.is_true(result.success)
|
||||
assert.are.equal(2, result.indexed_count)
|
||||
|
||||
-- Clean up
|
||||
os.remove(test_files[1])
|
||||
os.remove(test_files[2])
|
||||
end)
|
||||
|
||||
it("should handle documents with malformed YAML headers", function()
|
||||
local malformed_file = "/tmp/malformed.md"
|
||||
|
||||
local file = io.open(malformed_file, "w")
|
||||
file:write([[
|
||||
---
|
||||
title: "Malformed Document"
|
||||
status: "draft"
|
||||
invalid_yaml: [unclosed array
|
||||
---
|
||||
# Malformed Document
|
||||
|
||||
This has bad YAML.
|
||||
]])
|
||||
file1:close()
|
||||
|
||||
local result = indexer.index_documents("/tmp")
|
||||
|
||||
assert.is_true(result.success)
|
||||
assert.are.equal(0, result.indexed_count)
|
||||
assert.is_not_nil(result.errors)
|
||||
assert.are.equal(1, #result.errors)
|
||||
|
||||
-- Clean up
|
||||
os.remove(malformed_file)
|
||||
end)
|
||||
|
||||
it("should incrementally update index when files change", function()
|
||||
local test_file = "/tmp/incremental_test.md"
|
||||
|
||||
-- Create initial document
|
||||
local file = io.open(test_file, "w")
|
||||
file:write([[
|
||||
---
|
||||
title: "Incremental Test"
|
||||
status: "draft"
|
||||
---
|
||||
# Incremental Test
|
||||
|
||||
Initial content.
|
||||
]])
|
||||
file:close()
|
||||
|
||||
-- Initial indexing
|
||||
local result1 = indexer.index_documents("/tmp")
|
||||
assert.is_true(result1.success)
|
||||
assert.are.equal(1, result1.indexed_count)
|
||||
|
||||
-- Modify the file
|
||||
vim.wait(100) -- Ensure different timestamp
|
||||
local file2 = io.open(test_file, "w")
|
||||
file2:write([[
|
||||
---
|
||||
title: "Incremental Test"
|
||||
status: "review"
|
||||
priority: "high"
|
||||
---
|
||||
# Incremental Test
|
||||
|
||||
Modified content.
|
||||
]])
|
||||
file2:close()
|
||||
|
||||
-- Incremental update
|
||||
local result2 = indexer.update_index("/tmp")
|
||||
assert.is_true(result2.success)
|
||||
assert.are.equal(1, result2.updated_count)
|
||||
|
||||
-- Clean up
|
||||
os.remove(test_file)
|
||||
end)
|
||||
end)
|
Loading…
Add table
Add a link
Reference in a new issue