test/MCMczInstallerTest.st
author Claus Gittinger <cg@exept.de>
Sat, 01 Sep 2018 17:33:15 +0200
changeset 1092 8d0ea96a3d72
parent 802 574bf7ff6949
child 1121 c5661215109c
permissions -rw-r--r--
initial checkin class: MCFileTreeFileSystemUtils class: MCFileTreeFileSystemUtils class added:17 methods
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello/test' }"
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCTestCase subclass:#MCMczInstallerTest
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'expected diff'
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
802
574bf7ff6949 Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
     7
	category:'SCM-Monticello-Tests'
17
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCMczInstallerTest class methodsFor:'as yet unclassified'!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
isAbstract
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
        ^ (Smalltalk classNamed: #MczInstaller) isNil
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    "Modified: / 16-11-2006 / 16:43:59 / cg"
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
suite
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	^ (Smalltalk hasClassNamed: #MczInstaller)
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		ifTrue: [super suite]
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		ifFalse: [TestSuite new name: self name asString]
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
! !
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!MCMczInstallerTest methodsFor:'as yet unclassified'!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
assertDict: dict matchesInfo: info
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	#(name id message date time author)
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
		do: [:sel |  (info perform: sel) ifNotNilDo: [:i | dict at: sel ifPresent: [:d | self assert: i = d]]].
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	info ancestors 
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
			with: (dict at: #ancestors) 
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
			do: [:i :d | self assertDict: d matchesInfo: i]
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
assertNoChange
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	| actual |
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	actual _ MCSnapshotResource takeSnapshot.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	diff _ actual patchRelativeToBase: expected snapshot.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	self assert: diff isEmpty
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
assertVersionInfoPresent
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	| dict info |
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	dict _ MczInstaller versionInfo at: self mockPackage name.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	info _ expected info.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	self assertDict: dict matchesInfo: info.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
deleteFile
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	(FileDirectory default fileExists: self fileName)
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
		ifTrue: [FileDirectory default deleteFileNamed: self fileName]
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
fileName
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	^ 'InstallerTest.mcz'
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
fileStream
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	^ FileStream forceNewFileNamed: self fileName.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
setUp
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
	expected _ self mockVersion.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	self change: #one toReturn: 2.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
tearDown
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
	expected snapshot updatePackage: self mockPackage.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
	self deleteFile.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
testInstallFromFile
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
	MCMczWriter fileOut: expected on: self fileStream.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
	MczInstaller installFileNamed: self fileName.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
	self assertNoChange.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
testInstallFromStream
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
	| stream |
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	stream _ RWBinaryOrTextStream on: String new.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	MCMczWriter fileOut: expected on: stream.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
	MczInstaller installStream: stream reset.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
	self assertNoChange.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
	self assertVersionInfoPresent.
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
! !
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
!MCMczInstallerTest class methodsFor:'documentation'!
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
version
802
574bf7ff6949 Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    91
    ^ '$Header: /cvs/stx/stx/goodies/monticello/test/MCMczInstallerTest.st,v 1.2 2013-05-28 23:59:55 vrany Exp $'
17
02f63372f74e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
! !
802
574bf7ff6949 Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    93