TODO: Make these tests pass
This commit is contained in:
parent
6d244d331b
commit
dab113961a
|
@ -18,6 +18,9 @@ module Pigeon
|
|||
BODY_TPL = File.read(File.join(TPL_DIR, "2_body.erb")).sub("\n", "")
|
||||
FOOTER_TPL = File.read(File.join(TPL_DIR, "3_footer.erb")).sub("\n", "")
|
||||
COMPLETE_TPL = [HEADER_TPL, BODY_TPL, FOOTER_TPL].join("")
|
||||
CURRENT_DRAFT = "HEAD.draft"
|
||||
EMPTY_MESSAGE = "NONE"
|
||||
OUTBOX_PATH = File.join(".pigeon", "user")
|
||||
# /MESSAGE TEMPLATE CONSTANTS
|
||||
|
||||
# Internal namespaces for PStore keys:
|
||||
|
|
|
@ -2,10 +2,6 @@ require "digest"
|
|||
|
||||
module Pigeon
|
||||
class Message
|
||||
NAME_OF_DRAFT = "HEAD.draft"
|
||||
OUTBOX_PATH = File.join(".pigeon", "user")
|
||||
EMPTY_MESSAGE = "NONE"
|
||||
|
||||
attr_reader :author, :kind, :prev, :body, :depth, :signature
|
||||
|
||||
def self.create(kind:, prev: nil, body: {})
|
||||
|
@ -39,7 +35,8 @@ module Pigeon
|
|||
end
|
||||
|
||||
def self.current
|
||||
@current ||= (Pigeon::Storage.current.get_config(NAME_OF_DRAFT) || new)
|
||||
@current ||=
|
||||
(Pigeon::Storage.current.get_config(CURRENT_DRAFT) || new.save)
|
||||
end
|
||||
|
||||
def self.reset_current
|
||||
|
@ -47,7 +44,7 @@ module Pigeon
|
|||
end
|
||||
|
||||
def save
|
||||
Pigeon::Storage.current.set_config(NAME_OF_DRAFT, self)
|
||||
Pigeon::Storage.current.set_config(CURRENT_DRAFT, self)
|
||||
self
|
||||
end
|
||||
|
||||
|
|
|
@ -11,8 +11,16 @@ RSpec.describe Pigeon::Message do
|
|||
end
|
||||
|
||||
it "signs a message" do
|
||||
test_me = message
|
||||
raise "need better assertions!"
|
||||
m1 = message
|
||||
message2 = Pigeon::Message.create(kind: "unit_test")
|
||||
message2.append("expected_sequence", "1")
|
||||
message2.sign
|
||||
|
||||
expect(message2.author).to eq(Pigeon::KeyPair.current.public_key)
|
||||
expect(message2.kind).to eq("unit_test")
|
||||
expect(message2.prev).to eq(m1)
|
||||
expect(message2.body).to eq("expected_sequence" => "1")
|
||||
expect(message2.depth).to eq(1)
|
||||
end
|
||||
|
||||
MSG = [
|
||||
|
@ -30,8 +38,6 @@ RSpec.describe Pigeon::Message do
|
|||
actual = message.render
|
||||
expected = MSG.gsub("___", pk)
|
||||
expect(actual).to start_with(expected)
|
||||
puts "TODO: Write a test for deterministic verification of signatures"
|
||||
puts "current tests only test top parts of message, not signature."
|
||||
end
|
||||
|
||||
it "creates a new message" do
|
||||
|
@ -45,7 +51,7 @@ RSpec.describe Pigeon::Message do
|
|||
"b" => hash,
|
||||
},
|
||||
depth: 0,
|
||||
prev: Pigeon::Message::EMPTY_MESSAGE,
|
||||
prev: Pigeon::EMPTY_MESSAGE,
|
||||
}
|
||||
message.append("a", "bar")
|
||||
message.append("b", hash)
|
||||
|
@ -53,7 +59,7 @@ RSpec.describe Pigeon::Message do
|
|||
expect(message.kind).to eq("unit_test")
|
||||
expect(message.body).to eq(expectations.fetch(:body))
|
||||
expect(message.depth).to eq(0)
|
||||
expect(message.prev).to eq(Pigeon::Message::EMPTY_MESSAGE)
|
||||
expect(message.prev).to eq(Pigeon::EMPTY_MESSAGE)
|
||||
expectations.map do |k, v|
|
||||
expect(Pigeon::Message.current.send(k)).to eq(v)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue