MCMczInstallerTest.st
author convert-repo
Tue, 09 Aug 2016 03:35:19 +0000
changeset 1012 6c2b1a2886d5
parent 351 9d1fcd1a263f
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
351
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCTestCase subclass:#MCMczInstallerTest
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'expected diff'
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Tests'
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCMczInstallerTest class methodsFor:'as yet unclassified'!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
isAbstract
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
        ^ (Smalltalk classNamed: #MczInstaller) notNil
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    "Modified: / 18-08-2009 / 10:04:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
suite
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
        ^ (Smalltalk classNamed: #MczInstaller) notNil
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
                ifTrue: [super suite]
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
                ifFalse: [TestSuite new name: self name asString]
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    "Modified: / 18-08-2009 / 10:30:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
! !
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!MCMczInstallerTest methodsFor:'as yet unclassified'!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
assertDict: dict matchesInfo: info
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	#(name id message date time author)
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
		do: [:sel |  (info perform: sel) ifNotNil: [:i | dict at: sel ifPresent: [:d | self assert: i = d]]].
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	info ancestors 
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
			with: (dict at: #ancestors) 
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
			do: [:i :d | self assertDict: d matchesInfo: i]
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
assertNoChange
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	| actual |
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	actual := MCSnapshotResource takeSnapshot.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	diff := actual patchRelativeToBase: expected snapshot.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	self assert: diff isEmpty
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
assertVersionInfoPresent
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	| dict info |
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	dict := MczInstaller versionInfo at: self mockPackage name.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	info := expected info.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	self assertDict: dict matchesInfo: info.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
deleteFile
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	(FileDirectory default fileExists: self fileName)
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
		ifTrue: [FileDirectory default deleteFileNamed: self fileName]
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
fileName
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	^ 'InstallerTest.mcz'
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
fileStream
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
	^ FileStream forceNewFileNamed: self fileName.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
setUp
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
	expected := self mockVersion.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	self change: #one toReturn: 2.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
tearDown
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
	expected snapshot updatePackage: self mockPackage.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	self deleteFile.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
testInstallFromFile
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
	MCMczWriter fileOut: expected on: self fileStream.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
	MczInstaller installFileNamed: self fileName.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
	self assertNoChange.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
testInstallFromStream
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
        | stream |
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
        stream := ReadWriteStream on: String new.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        MCMczWriter fileOut: expected on: stream.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        MczInstaller installStream: stream reset.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
        self assertNoChange.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
        self assertVersionInfoPresent.
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    "Modified: / 29-08-2010 / 08:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
! !
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
!MCMczInstallerTest class methodsFor:'documentation'!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
version
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMczInstallerTest.st,v 1.1 2011-08-20 12:29:34 cg Exp $'
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
version_CVS
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMczInstallerTest.st,v 1.1 2011-08-20 12:29:34 cg Exp $'
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
!
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
version_SVN
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    ^ '§Id: MCMczInstallerTest.st 5 2010-08-29 07:30:29Z vranyj1 §'
9d1fcd1a263f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
! !