Johnson nets winner in Denmark.
Sunderland completed their pre-season schedule with a hard-fought 1-0 win over Danish side FC Midtjylland.
Adam Johnson's fine early finish proved to be the decider as the Black Cats saw off an in-form Midtjylland side who are top of the Danish Superliga in the early going.
The winger's goal was the game's best moment as Paolo Di Canio's side were given a thorough workout.
The Italian made three changes to the team narrowly defeated by Manchester City in the Barclays Asia Trophy, drafting in Keiren Westwood, Carlos Cuellar and Valentin Roberge.
Opponents Midtjylland went into the game having won their first three matches of the Danish season, conceding just a single goal along the way.
The hosts threatened first when Marco Larsen forced a useful save from Westwood, but Sunderland soon took control with a fine finish from Johnson six minutes in.
The winger, lurking on the edge of the box, latched onto a neat back-heel from Jozy Altidore before planting a left-footed shot inside the far post with Midtjylland keeper Jonas Lossl helpless.
Johnson's early strike settled the game down, but Sunderland were thankful to Westwood for an excellent save as the half-hour approached.
Danny Olsen swung a super cross in from deep and Frank Kristensen's close-range header looked set to find the corner of the net before the Irish keeper sprung left to tip the ball behind.
The chance seemed to give the hosts extra impetus, and they came close through a powerful drive from Jesper Juelsgard out on the left after Seb Larsson had seen a free-kick gathered by Lossl at the other end.
Emanuele Giaccherini hit back with a low effort from the edge of the box which was well gathered by Lossl as Sunderland went in one up at the break.
The Danes could well have been level in the final minute of the opening period, but Sylvester Igboun narrowly failed to get a redirecting touch on Pione Sisto's mishit shot.
Sisto threatened again shortly after the break, testing Westwood down low with a powerful drive which the keeper did well to see as it flashed through a crowd of players following an excellent cut-back.
Larsson fired wide in a good position at the other end before the substitutions began, with Midtjylland changing all of their 11 players just after the hour.
Meanwhile, El Hadji Ba and Connor Wickham entered the action for Sunderland as the pair looked to press home their claims for a place against Fulham on August 17.
They were soon joined by David Moberg Karlsson and Modibo Diakite, with the latter making his debut following a summer move from Lazio.
Craig Gardner also appeared off the bench in place of Jack Colback as the sides entered the last quarter-hour with a distinctly different look to the opening stages.
Defender Cuellar came close to extending the lead in the final 10 minutes; just failing to connect with Giaccherini's cross after the Italian did well to carve out some space for himself down the left.
And a fine run from Stephane Sessegnon seven minutes from time looked sure to result in a goal, but the Beninese forward's powerful drive crashed back off the face of the crossbar with substitute goalkeeper Jakob Haugaard beaten.
Youngster Mikael Mandron was also given a late run-out as Sunderland closed out the game to end their pre-season campaign on a winning note.
Sunderland: Westwood, Cuellar, Colback (Gardner, 74), Roberge (Diakite, 71), O'Shea (c), Cabral (Ba, 62), Larsson, Johnson (Moberg Karlsson, 71), Giaccherini (Mandron, 86), Sessegnon, Altidore (Wickham, 65).
Subs not used: Vaughan, Mannone.
Midtjylland: Lossl (Haugaard, 60), Juelsgard (J Lauridsen, 60), Olsen (Nattested, 60), Sviatchenko (Romer, 60), Larsen (Gemmer, 60), Kristensen (Onuachu, 60), Banggaard (Moller, 60), Sisto (Oliseh, 60), Bak Nielsen (c) (Odeyemi, 60), Uzochukwu (Ashiru, 40), Igboun (Owolagi, 60).
Subs not used: Solgaard, R Lauridsen.